2014-01-24 172 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"]; 
}