2013-12-20 59 views
2

我有一個帶有表內容2個字段的數據庫db1:table user(userID varchar(1),userName varchar(30))。想要打印出mysqli_fetch_array的所有結果,但它多次返回第一行

我把2行表所示:(01,admin)和(02用戶)

我想打印全部使用者名稱了,所以我的代碼:

$conn=mysqli_connect("localhost","root","",db1); 
if($conn) 
{ 
    $sql="SELECT userName FROM user"; 
    $resul=mysqli_query($conn,$sql); 
    $row=mysqli_fetch_array($result); 
    $mysqli_close($conn); 
    foreach($row as $a) 
     { 
      echo $a; 
     }   
} 

但結果我得到是 adminadmin 不是 adminuser 您能告訴我爲什麼,我該如何解決? 謝謝!

+1

你讀過的文檔?很明顯,這只是返回一行。 http://www.php.net/manual/en/mysqli-result.fetch-array.php – Barmar

回答

3

因爲mysqli_fetch_array返回第一行和你在你的foreach循環在同一$row,你只能從第一$row獲取數據。

你想要做的,而不是什麼是使用while循環更適合在這種情況下:

while ($row=mysqli_fetch_array($result)) { 
    print_r($row); 
} 
+0

這個工作在我的情況。非常感謝兄弟! – user3098638

0
$conn=mysqli_connect("localhost","root","",db1); 
if($conn) 
{ 
    $sql="SELECT userName FROM user"; 
    $result=mysqli_query($conn,$sql); 
    while($row=mysqli_fetch_array($result);) 
     { 
      print_r($row); 
     }   
    $mysqli_close($conn); 
} 

試試這個..

+0

你只需要一個字段,你爲什麼要回顯兩個字段? – Barmar

+1

並且在獲取之前不要調用'mysqli_close()'。 – Barmar

相關問題