2014-01-24 176 views
-1

我正在PHP上开发一个简单的应用程序。如果我尝试运行它总是显示未定义的变量。我需要关于如何解决此问题的一些建议,请找到下面的代码片段,未定义的变量: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

看起来不像你已经设置了$ _SESSION [“studid”]您在查询 – Aditya

回答

0

“未定义”的告示是由于未初始化的变量。 尝试向脚本的顶部添加$ uid1 = null,并且该通知将消失(对于其他类似的内容也是如此)

虽然通知并非真正的问题,但它们可以指向更深层次的问题或事物这可以咬你屁股后...

现在的“警告:mysql_fetch_array()”指向一个更深的问题;你的结果是空的。 尝试检查您是否首先获得了有意义的结果。其实这里有一个很好的例子PHP手册页: http://au2.php.net/mysql_query

编辑: 行啊13的错误是因为你获取错误的结果,请检查您的变量名! acrec1!= acrec2

+0

使用它之前的任何地方**我解决了13号线的错误,但我不解决这个概率。 mysql_fetch_array()期望参数1 – robin

+0

也许查询是错误的;检查如何处理来自mysql_query的错误的手册页,它会帮助你识别那一个。您可能还想在将它发送到mysql之前输出查询,以确保它是有意义的(然后您可以手动运行它以再次检查它) –

0

您正在收到这些错误,因为您正在尝试在创建它们之前将它们编入索引。尝试将它们初始化为数组,然后再将它们编入索引,这应该可以解决您的问题。

我也没有看到您定义的位置$i ...在使用它之前需要存在某处。

你的SQL语句也打破......你需要将它们形成类似以下为完整的字符串:

"SELECT * FROM addfriends WHERE meid=" . $_SESSION[stuid]

0
$i = 0; 
while($row = mysql_fetch_array($result)) { 
    $i++; 
    $uid1[$i] = $row["friendid"]; 
}