我正在开发一个关于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"];
}
?>
根据上面的代码段,我收到如下所述的错误消息
Notice: Undefined variable: uid1 in C:\xampp\htdocs\collegenetwrking\friends.php on line 11
Notice: Undefined variable: acrec2 in C:\xampp\htdocs\collegenetwrking\friends.php on line 13
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\xampp\htdocs\collegenetwrking\friends.php on line 13
Notice: Undefined variable: uid1 in C:\xampp\htdocs\collegenetwrking\friends.php on line 18
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\collegenetwrking\friends.php on line 20
Notice: Undefined variable: uid1 in C:\xampp\htdocs\collegenetwrking\friends.php on line 25
Notice: Undefined variable: uid1 in C:\xampp\htdocs\collegenetwrking\friends.php on line 32
请在此建议我。
答案 0 :(得分:0)
您收到这些错误是因为您在创建错误之前尝试将其编入索引。尝试将它们初始化为数组,然后再将其编入索引,这样可以解决您的问题。
我也没有看到你定义$i
的位置......在你使用它之前需要在某处存在。
您的SQL语句也被破坏了......您需要将它们形成为完整的字符串,如下所示:
"SELECT * FROM addfriends WHERE meid=" . $_SESSION[stuid]
答案 1 :(得分:0)
“未定义”通知是由未初始化的变量引起的。 尝试在脚本的顶部添加$ uid1 = null,该通知将消失(对于其他类似的通知也是如此)
虽然通知并不是一个真正的问题,但它们可以指出更深层次的问题或可能在以后咬你的事情......
现在“警告:mysql_fetch_array()”指向更深层次的问题;你的结果是空的。 首先尝试检查你是否得到了有意义的结果。在php手册页上有一个很好的例子: http://au2.php.net/mysql_query
编辑: 啊第13行错误是因为你拿错了结果,检查你的变量名! acrec1!= acrec2
答案 2 :(得分:0)
$i = 0;
while($row = mysql_fetch_array($result)) {
$i++;
$uid1[$i] = $row["friendid"];
}