在PHP中使用已定义变量时出现未定义变量错误?
我正在制作一个网站,在那里我登录,按下一个按钮,然后从数据库加载一些信息。代码运行良好,但有一点除外:我得到了这个错误:在PHP中使用已定义变量时出现未定义变量错误?,php,variables,Php,Variables,我正在制作一个网站,在那里我登录,按下一个按钮,然后从数据库加载一些信息。代码运行良好,但有一点除外:我得到了这个错误: <b>Notice</b>: Undefined variable: error in <b>/character-load.php</b> on line <b>42</b><br /> 这有什么问题吗?我不明白为什么它说变量错误是未定义的?我可以根据要求添加更多信息,因为我真的不知道还
<b>Notice</b>: Undefined variable: error in <b>/character-load.php</b> on line <b>42</b><br />
这有什么问题吗?我不明白为什么它说变量错误是未定义的?我可以根据要求添加更多信息,因为我真的不知道还要添加什么。试试这个-
$error = 0;
if ($user["banned"] == 1){
$error = 1;
}
if (mysql_num_rows($character) == 0){
$error = 1;
}
if (mysql_num_rows($username) == 0){
$error = 1;
}
if (empty($charid)){
$error = 1;
}
并在使用时添加检查。仅当出现这4种情况之一时才定义变量。如果这些都没有发生,它就不会存在 最简单的修复方法是在块的顶部将其定义为0
记住;在PHP中,只有在实际执行一个赋值行时才定义变量。只是在文件中,但被跳过并不算在内。
$error
仅在条件范围内定义。在它之外定义它以压制通知。我认为你必须在条件改变之前定义它。谢谢,这确实有效。出于什么原因我必须键入$error=0代码>首先?请参阅Erik的答案以了解解释。如果没有任何条件通过,则不会有名为$error
的变量。
$error = 0;
if ($user["banned"] == 1){
$error = 1;
}
if (mysql_num_rows($character) == 0){
$error = 1;
}
if (mysql_num_rows($username) == 0){
$error = 1;
}
if (empty($charid)){
$error = 1;
}