2010-08-22 101 views
-1

任何人都可以告訴我爲什麼我收到這些錯誤,當我這樣做?mysql_fetch_array&num_rows錯誤 - 幫助!

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\login\index.php on line 63 

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\login\index.php on line 65 

當我這樣做::

$sql="SELECT id FROM users WHERE username='$myusername' and password='$mypassword'"; 
$result=mysql_query($sql); 
$row=mysql_fetch_array($result); 
$active=$row['active']; 
$count=mysql_num_rows($result); 

回答

1

你可能有讓你查詢時出現錯誤。嘗試

$result=mysql_query($sql) or die(mysql_error()); 
1

mysql_query文檔:

返回值:對於SELECT,SHOW, 描述,解釋等語句 返回結果集,請求mysql_query() 成功返回一個資源,或 錯誤時發生錯誤。

看起來你的mySQL查詢包含某種錯誤(你是否轉義了你要放入的字符串?),因此$ result是FALSE,因此是警告。試試這個:

$result = mysql_query($sql); 
if (!$result) { 
    echo mysql_error(); 
} 
0

Mysql_query returns false當執行的查詢包含錯誤。嘗試使用mysql_error來找出哪裏出了問題。

Mysql_num_rows和mysql_fetch_array都期望得到有效查詢的結果。