【问题标题】:PHP to MS SQL Undefined Index ErrorPHP 到 MS SQL 未定义索引错误
【发布时间】:2013-12-18 18:16:51
【问题描述】:

我从我的 php 表单填充我的 sql 表中的列时出错。我收到未定义的索引:ID 错误。首先,我将向您展示我的 php/html 代码,它正确显示了我的所有数据,我将显示屏幕截图,然后我将在我的 sql 表中显示错误的答案填充。感谢您的浏览和帮助!

这第一个代码是我创建正确工作的选择的地方,我相信因为我从我的 sql 表中导入的所有内容都正确显示。

<label for="animalCommony">Common Name</label>
<select name="animalCommony" id="animalCommony" form="form1">
<option>Select a Common Name:</option>

<?php
$db = get_db_connection('swcrc');
$db->connect();
$db->query("SELECT [Common Name] FROM dbo.All_Animals"); //THE BRACKETS WORK FINE I WILL SHOW
                                                         //A SCREEN SHOT OF THE FUNCTIONAL FORM
while($row = $db->fetch())
{
?>
   <option value="<?php echo $row['ID'];?>"><?php echo $row[`Common Name`];?></option> //THIS IS
   //WHERE I BELIEVE THE ERROR MAYBE COMING FROM THIS IS LINE 570
<?php 
}
?>
</select>
</p>

下一部分代码是我将选择的答案插入到我的 MS SQL 表中的地方注意除了我的 animalCommoner 变量之外,所有内容都正确填充到我的 MS SQL 表中。

 $animalClasser = (isset($_POST['animalClassy'])? $_POST['animalClassy']: null);
 $animalCommoner = (isset($_POST['animalCommony'])? $_POST['animalCommony']:null); //NOT 
        //POPULATING INTO MS SQL DATABASE
        $db->query("UPDATE dbo.Request SET status='%s' WHERE ID=%d", 
            $_POST['completed'],
            $_POST['request_id']);
        $db->query("INSERT INTO dbo.Response (request_ID, user_ID, complete, comment,
                                              response_date, animalClass, animalCommon) 
        VALUES (%d, %d, '%s', 's', 's', '$animalClasser', '$animalCommoner')",
            $_POST['request_id'], 
            $_POST['completed_by_user_id'], 
            $_POST['completed'], 
            $_POST['not_completed'],
            $_POST['date_completed']);

接下来我将发布错误填充的 sql 表的屏幕显示。这是一张很薄的照片。

最后,我将发布我的表单的屏幕截图,以显示它正在正确填充。

感谢您的关注和帮助! 这是错误消息

【问题讨论】:

    标签: php html sql-server forms


    【解决方案1】:

    显示未定义的索引是因为查询未检索到您在数组中使用的键。您当前的查询仅从表中选择值 [Common Name],因此“Common Name”将是每行可用的唯一键。如果 ID 是您表中的一列,请尝试将您的查询更改为如下所示:

    $db->query("SELECT [ID], [Common Name] FROM dbo.All_Animals");
    

    【讨论】:

    • 感谢 Shane 的回复,我做出了您建议的更改,但遗憾的是,我仍然收到同样的错误。
    猜你喜欢
    • 2011-02-21
    • 2016-08-17
    • 2012-05-23
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2015-03-06
    相关资源
    最近更新 更多