我很好奇为什么我在以前做过一百万次的事情上出现错误,但突然在某个脚本上出现错误“未定义的变量:行”
然而,对我来说,行似乎已定义......
$sql = 'SELECT * FROM table WHERE id="1" LIMIT 1 ';
$res = mysql_query($sql);
if(mysql_num_rows($res) != FALSE) {
$row = mysql_fetch_array($res);
}
以上是伪 sql ......但我已经检查了那个 sql 语句,我知道它会产生一个结果。我也知道 $row 正在存储数据,因为如果我去
echo $row[0];
我得到了正确的数据。
因此,据我所知, $row 变量已定义。然而仍然 - 一个错误。我是疯了还是我在这里错过了什么?只有在 $row 不存在时才会出现此错误/通知吗?
编辑
抱歉,这一切都发生在 if 语句中:
$sql = 'SELECT * FROM table WHERE uID="' . $ID . '" LIMIT 1 ';
$res = mysql_query($sql);
if(mysql_num_rows($res) != FALSE) {
$row = mysql_fetch_array($res);
$firstName = $row[0];
$lastName = $row[1];
$email = $row[2];
}
编辑 2
如果我执行 print_r($row) 我会得到以下信息:
Array
(
[0] => Robert
[firstName] => Robert
[1] => Nibbles
[lastName] => Nibbles
[2] => robert@nibbles.com
[email] => robert@nibbles.com
)
Undefined variable: row