未定义的变量:PHP

时间:2014-01-24 04:09:23

标签: php mysql sql

我正在开发一个关于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

请在此建议我。

3 个答案:

答案 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"];
}