我正在开发一个关于PHP的简单应用程序。如果我试图运行它总是显示未定义的变量..我需要一些关于如何解决这个问题的建议,请找到下面的代码片段,
<?php
session_start();
include("profilesql.php");
$result = mysql_query("SELECT * FROM addfriends where meid='$_SESSION[stuid]' ");
while($row = mysql_fetch_array($result))
{
$uid1[$i] = $row["friendid"];
$i++;
}
$acrec1 = mysql_query("SELECT * FROM addfriends WHERE userid='$uid1[1]'");
while($row = mysql_fetch_array($acrec2))
{
$img1[0]= $row["image"];
}
$acrec2 = mysql_query("SELECT * FROM addfriends WHERE userid='$uid1[2]'");
while($row = mysql_fetch_array($acrec2))
{
$img1[1]= $row["image"];
}
$acrec3 = mysql_query("SELECT * FROM profile WHERE userid='$uid1[3]' ");
while($row = mysql_fetch_array($acrec3))
{
$img1[2]= $row["image"];
}
$acrec4 = mysql_query("SELECT * FROM profile WHERE userid='$uid1[4]' ");
while($row = mysql_fetch_array($acrec4))
{
$img1[3]= $row["image"];
}
?>
根据上面的代码段,我收到如下所述的错误消息
注意:未定义的变量:第11行的C:\ xampp \ htdocs \ collegenetwrking \ friends.php中的uid1
注意:未定义的变量:第13行的C:\ xampp \ htdocs \ collegenetwrking \ friends.php中的acrec2
警告:mysql_fetch_array()期望参数1为资源,在第13行的C:\ xampp \ htdocs \ _ collegenetwrking \ friends.php中给出null
注意:未定义的变量:第18行的C:\ xampp \ htdocs \ _ collegenetwrking \ friends.php中的uid1
警告:mysql_fetch_array()要求参数1为资源,布尔值在第20行的C:\ xampp \ htdocs \ _ collegenetwrking \ friends.php中给出
注意:未定义的变量:第25行的C:\ xampp \ htdocs \ _ collegenetwrking \ friends.php中的uid1
注意:未定义的变量:第32行的C:\ xampp \ htdocs \ _ collegenetwrking \ friends.php中的uid1
请在此建议我。
答案 0 :(得分:0)
在起始处定义$uid1
变量:
session_start();
$uid1 = array();
$i = 0;
由于找不到这个变量,所以它通过在顶部定义它来全局化。
由于变量范围而发生此问题。变量的范围仅在while循环内,因此在顶部定义它以使其在所有条件下都可访问。
答案 1 :(得分:0)
请在顶部定义所有变量,然后您将不会收到此错误:
例如:
var $a = "";
var $b = "";
$array_name = array();
请养成在使用/赋值之前定义所有变量的习惯。