ai didi

php - 我收到 "undefined variable"PHP 通知

转载 作者:行者123 更新时间:2023-12-03 22:54:38 24 4
gpt4 key购买 nike

我很好奇为什么我在以前做过一百万次的事情上遇到错误,但突然在某个脚本上遇到错误“ undefined variable :行”

然而,行对我来说似乎已经定义好了......

$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

最佳答案

如果您没有将 $row 初始化为 if 语句之外的内容,那么它是未定义的。

否则,如果您不想将 $row 初始化为某种空值(并非完全不合理),您可能希望包围任何检查 $rowif 语句之外,类似

if (isset($row))  doSomething();

这很痛苦,但你必须记住,任何你没有显式定义的变量,即使是 null,都是未定义的,如果在代码中作为右值引用(除了 isset 等)。所以一般来说,要么总是初始化你的变量,要么像上面那样自由地应用代码。

如果事实证明这不是问题,我深表歉意,但如果没有看到您的代码,我想不出更多的东西。

编辑:抱歉,它是“isset”而不是“defined”。自从我实际使用 PHP 以来已经有一段时间了。我试图用一个概念而不是语法来回答这个问题。我的错。

关于php - 我收到 "undefined variable"PHP 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1483002/

24 4 0
文章推荐: php - 如何在字符串内迭代循环搜索固定关键字后的任何单词?
文章推荐: jquery - 显示一个句子,一次一个字符
文章推荐: jQuery - 在提交时向表单添加隐藏输入
文章推荐: visual-studio-2010 - Visual Studio - 缺少客户端对象和事件下拉列表?
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com