2013-03-19 80 views
0

此PHP代碼用於檢查用戶正在關注的名稱。他們是他的朋友,或者如果他們不是他的$朋友,必須顯示<td>&nbsp; &nbsp; &nbsp;<input type="submit" id="downloadbut" value="Follow"></td>如果他的$朋友必須顯示echo '<td>&nbsp; &nbsp; &nbsp;<span id="liketextvote">Following</span></td>';如果用戶是跟着他們。但我的問題是我無法獲得$朋友的結果。問題是PHP array get while while

通知:Array對字符串的轉換在 C:\ XAMPP \ htdocs中\埃杜\ 1111111111111 \上線109陣列

userinfo.php。但while循環結果是:megiantongeorgekatimery - 這是來自MySQL數據庫的示例。我沒有idei,我怎麼能得到這個結果。有人可以幫忙嗎?

$userfile = $_GET['username']; 
$username = $user_data['username']; 

if ($username != $userfile) { 
    $addfriends = mysql_query("SELECT `follow` FROM `friends` WHERE `username` = '$username' ORDER BY id DESC"); 
    $friends = array(); 

    while ($query_row = mysql_fetch_array($addfriends)) { 
     $val = $query_row['follow']; 
     echo $val; // hier I can get result example five name megiantongeorgekatimery 
     $friends[] = $val; 
    } 

    echo $friends; // hier I can get result example five name megiantongeorgekatimery 

    if (!in_array($userfile, $friends)) { 
     echo '<form action="addfriends.php?username='.$userfile.'" method="post"> 
        <td>&nbsp; &nbsp; &nbsp;<input type="submit" id="downloadbut" value="Follow"></td> 
       </form>'; 
    } else { 
     echo '<td>&nbsp; &nbsp; &nbsp;<span id="liketextvote">Following</span></td>'; 
    } 
} 
+0

所以,你只是想打印出一個循環「繼」? – 2013-03-19 19:11:18

+0

是行109 ... if(!in_array($ userfile,$ friends)){? $ userfile的價值是什麼? – SomeSillyName 2013-03-19 19:15:46

+0

你有一個[巨大的安全](http://en.wikipedia.org/wiki/SQL_injection)洞。在這裏閱讀如何防止它:http://stackoverflow.com/questions/60174/how-to-prevent-sql-injection-in-php – PeeHaa 2013-03-19 19:17:00

回答

4

當你這樣做echo $friends您試圖echo數組。

如果這僅僅是一個調試語句,使用print_r代替

print_r($friends); 
+0

這就是它謝謝你 – user1929805 2013-03-19 19:27:38

1

您開始使用$ friends作爲數組。
如果要從數組中打印出數據,請使用foreach循環訪問數據,或者在打印之前將所有數據連接在一起。

foreach ($friends as $friend) {print "$friend<br>";} 

OR

print join("<br>",$friends); 
+0

這就是它謝謝 – user1929805 2013-03-19 19:28:09