2013-05-05 50 views
0

嗨,下面是我在我的程序中的代碼的一部分。從PHP的foreach數組中打印值

 .......................... 
     foreach($_POST['delz'] as $delz) 
     { 
      $QR = "SELECT bname, bsku FROM brands WHERE id='$delz'"; 
      $rr= mysqli_query($db,$QR) or die ("SQL Error"); 
      $roV = mysqli_num_rows($rr); 


     echo "<tr> 
     <td class='sc_five'> 
     $rr "; 
       ......... 

當我試圖打印的$rr我得到一個錯誤說Object of class mysqli_result could not be converted to string in C:\xam........誰能告訴我在哪裏,我都出了問題,我如何調整自己的價值觀?

編輯:

我已經得到了連接如下:

include ('../../connection/index.php'); 
+0

'$ rr'是mysqli的結果對象,用' - > fetch_assoc'就可以了。 – 2013-05-05 05:44:25

+0

你很容易受到[SQL注入攻擊](http://bobby-tables.com)的影響。在繼續之前修復您的代碼。 – 2013-05-05 05:45:00

+0

也不要把你的查詢放在foreach循環中。 – 2013-05-05 05:45:17

回答

1

試試這個:

foreach($_POST['delz'] as $delz) 
    { 
     $delz=mysqli_real_escape_string($db,$delz); 
     $QR = "SELECT bname, bsku FROM brands WHERE id='$delz'"; 
     $rr= mysqli_query($db,$QR) or die ("SQL Error"); 
     $roV = mysqli_num_rows($rr); 
     $r=$rr->fetch_assoc(); 
      foreach ($r as $rr) 
       echo "<tr><td class='sc_five'>".$rr['bname']." ".$rr['bsku']; 
+0

一切都很完美,但你也必須迭代'$ rr-> fetch_assoc()',因爲查詢可能包含多於一行。反正+1。 – 2013-05-05 05:52:07

+0

通過'$ r'循環播放,我認爲他只會選擇一個,因爲他只是在取回後立即開始使用它。 – 2013-05-05 06:22:31