2013-02-26 53 views
-1

我知道這個問題每天都會被問到,但我的資源是而不是 false。mysql_num_rows()期望參數1是資源但它不是假(??)

$query = "SELECT ccnumber,CUID FROM response WHERE CUID <" . $_POST['CUID'] . " ORDER By CUID DESC LIMIT 1"; 
$result_prev = mysql_query($query); 

if($result_prev === false) 
{ 
    print 'failed: '.$result_prev; 
} 

if(mysql_num_rows($result_prev) > 0) 
{ 

當這個代碼在網站上運行它並沒有打印出「失敗:」當我打印$ result_prev它顯示資源ID#25。

但我似乎仍然有問題。錯誤日誌有:

PHP的警告:mysql_fetch_assoc()預計參數1是資源,在

給予當我進入myPHP並運行相同的查詢,我得到的結果布爾值。

我有點卡在如何解決這個問題。這在同一頁面發生三次。任何幫助或建議,將不勝感激。

+1

你呼應「失敗」,但你的代碼依然存在,如果測試到的代碼,不會的mysql_num_rows()的線移動 – 2013-02-26 19:24:28

+1

您還沒有顯示的代碼你在那裏調用'mysql_fetch_assoc()'。也不應該使用'mysql_ *'函數,因爲這些函數已被棄用。也許使用'mysqli'或'PDO'。 – 2013-02-26 19:25:58

+0

mysql_num_rows函數返回什麼? 'var_dump()'變量可能會有所幫助。 – 2013-02-26 19:26:13

回答

0

這樣寫

$query = "SELECT ccnumber,CUID FROM response WHERE CUID <" . $_POST['CUID'] . " ORDER By CUID DESC LIMIT 1"; 
$result_prev = mysql_query($query) or die('Error is: ' . mysql_error()); 

if(mysql_num_rows($result_prev) > 0) 
{ 
    while($row = mysql_fetch_assoc($result_prev)) 
    { 
     echo 'ccnumber:' . $row['ccnumber'] . '<br>'; 
     echo 'CUID:' . $row['CUID'] . '<br><br>'; 
     echo '------------------------<br>'; 
    } 
} 
相關問題