2016-07-28 114 views
1

我在設計一個網站,我寫了一些顯示用戶列表的網頁。 我用來做SQL SELECT *只返回一行

$query = SELECT * FROM `table_users` WHERE `id`='.$id.' 

,然後用「而」這樣我就可以抓住所有的用戶遞增ID。但現在速度太慢,而且在ID之間存在差距時會出現問題。

所以,我想是這樣

$query = SELECT `name` FROM `tbl_user`ORDER BY `id` 

和顯示用戶列表與

while ($i < sizeof(mysql_fetch_array(mysql_query($query)))){ 
<code to display an user> 
$i++ 
} 

但mysql_fetch_array只有returnes一個用戶,第一個(在一個與littliest ID)。我希望它能夠返回數組中的所有用戶。我該怎麼做 ?

+0

不使用mysql_ *請使用mysqli的OG PDO –

+0

** **停止使用廢棄的'mysql_'' API。在準備好的語句中使用'mysqli_''或'PDO' – Jens

回答

0

嘗試這個

$query = "SELECT `name` FROM `tbl_user` ORDER BY `id`"; 
$user_query = mysql_query($query); 

$i=1; 
while ($row = mysql_fetch_array($user_query)){ 
    echo $i." : ".$row['name']."<br>"; 
    $i++; 
} 
+1

謝謝,這是工作! – Rackover

0

試試這樣說:

$result = mysql_query($query); 
while ($row = mysql_fetch_array($result)) { 
    //$row is the row which was just gathered 
} 

並請,使用PDO或MySQLi的,而不是過時的MySQL。

+0

我知道你們所有人都希望我使用mysqli或PDO,但是因爲我的整個網站都在使用MySQL,而且我對這兩者都一無所知,所以我現在不轉換我的網站。 我會嘗試你所說的。 – Rackover

+0

不工作。一會兒陷入一個無限循環並且什麼也不返回。你能發展嗎? – Rackover

+0

請注意,上述內容將返回 - 它將工作,將是一個數組,您可以從中提取($ row);並使用列名稱作爲變量名稱來調用每行的列值。或者您可以使用$ row ['column_name']數組值引用它們。 – Jeff