PHP / MySql未定义索引:id从MySql表中检索数据时

时间:2014-01-14 12:17:14

标签: php mysql sql

我正在尝试从MySql表中检索一些数据。但是当我运行查询时,显示注意:未定义的索引:id 。但是当我在SQLyog中运行相同的查询时,它显示正确的结果。没有任何错误。

查询:

SELECT id,temp_name,added,updated FROM `projtemp` WHERE `user_id`='0000000001' 

从SQLyog出来:

enter image description here

来自Firebug控制台的错误:

<b>Notice</b>:  Undefined index: id in <b>C:\xampp\htdocs\xxx\yyy\zzz\aaa.php</b> on line <b>61</b><br />

我执行的Php代码:

try {
        $paginate = new pagination($page, "SELECT id,temp_name,added,updated FROM `projtemp` WHERE `user_id`='$uid'", $options);
    } catch (paginationException $e) {
        echo $e;
        exit();
    }

更新:

       if ($paginate->success == true) {
        while ($row = $result->fetch_assoc()) {
            $temp=array();
            $temp['id']=$row['id'];   // In this line I'm Getting Error Line-61
           $temp['tname'] = $row['temp_name'];
            $temp['added'] = $row['added'];
            if ($row['updated'] == '') {
                $temp['updated'] = 'Never';
            } else {
                $temp['updated'] = $row['updated'];
            }
            $data['data']=$temp;
        }

请任何人帮我解决这个问题....

4 个答案:

答案 0 :(得分:0)

试试这个,你不需要用''表示整数字段

$paginate = new pagination($page, "SELECT id,temp_name,added,updated FROM `projtemp` WHERE `user_id`=$uid", $options);

答案 1 :(得分:0)

您获得的错误与您的SQL查询无关。这是关于数组处理。我假设您以后在PHP代码中使用ID来逐步执行数组?在那里寻找错误。

答案 2 :(得分:0)

在我的数据库中处理了这个查询:

"SELECT `id`, `temp_name`, `added`, `updated` FROM `projtemp` WHERE `user_id`=$uid"

"SELECT * FROM `projtemp` WHERE `user_id`=$uid"

但是我没有在你的表中看到user_id

答案 3 :(得分:0)

在您正在检索数据的函数fetch_assoc()中,将结果行作为关联数组,数字数组或两者获取。在你的情况下,你应该写

if ($row = mysql_fetch_array ( $result, MYSQL_BOTH )) {
 $id=$row[0];
}

因为您表中的ID位于第0位。 Here您可以详细阅读。