未定义的变量:PHP

时间:2013-09-19 11:44:52

标签: php xampp

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

请在此建议我。

2 个答案:

答案 0 :(得分:0)

在起始处定义$uid1变量:

session_start();
$uid1 = array();
$i = 0;

由于找不到这个变量,所以它通过在顶部定义它来全局化。

由于变量范围而发生此问题。变量的范围仅在while循环内,因此在顶部定义它以使其在所有条件下都可访问。

答案 1 :(得分:0)

请在顶部定义所有变量,然后您将不会收到此错误:
例如:

var $a = "";
var $b = "";
$array_name = array();

请养成在使用/赋值之前定义所有变量的习惯。