2012-08-16 35 views
-4

就像我說我不能指望通過和mysql_fetch_row返回的結果返回:不能指望通過陣列mysql_fetch _row

while ($a = mysql_fetch_row($sql)) { 
$result = count($a); 
echo $result; 
} 

它的回報率(1)僅是爲什麼?

+1

閱讀手冊。它在線提供! – 2012-08-16 13:07:12

+1

你問爲什麼mysql_fetch _ ** row **()只返回一行? – 2012-08-16 13:08:06

+0

我看過了,我正在尋找一小時 – user2682025 2012-08-16 13:08:17

回答

4

對單行進行計數(最合適地包含單個字段)將返回1,因爲它應該如此。看看mysql_num_rows()如果您獲取結果之前想要的行數,或者 - 如果你想跟進自己的方法 - 這樣做

$count=0; 
while ($a = mysql_fetch_row($sql)) { 
//Do something with the result 

$count++; 
} 
echo $count; 
5

,你可以隨時使用

$result = mysql_num_rows($sql); 
3

因爲你只取1行,並試圖指望它 - 嘗試mysql_num_rows

2

mysql_fetch_row返回值是當前行的列值的數組。因此,$result是列數,而不是行數。要獲得行數,您可以使用mysql_num_rows函數。

BTW:不要使用那個舊的mysql庫,使用mysqli或PDO。