2014-02-12 74 views
-2

遇到的問題即時消息是,MySQL的NUM行不會工作,除非用戶ID爲1混淆問題的mysqli功能

如果別的它會顯示這個

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/theclear/public_html/redline/class/class_db_mysqli.php on line 66 

呼籲部分麻木行:

$rrr=$db->query("SELECT * FROM referals WHERE refREFER={$r['userid']}"); 
print $db->num_rows($rrr); 

和從class_db_mysqli.php功能(包括66行):

function num_rows($result=0) 
    { 
    if(!$result) { $result=$this->result; } 
    return mysqli_num_rows($result); 
    } 

我不能工作了,爲什麼它工作正常,如果用戶id = 1但如果用戶id> 1 ....

據我可以找出...

林 - >標識1 你是 - > Id2的

$userid=$_GET['u'] 

如果我訪問 domain.xxx/file.php?u=1

沒有錯誤,並顯示正確的結果。

如果我訪問 domain.xxx/file.php?u=2

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/theclear/public_html/redline/class/class_db_mysqli.php on line 66 

顯示

+0

http://php.net/manual/en/mysqli.error.php – zerkms

+0

錯誤似乎是由於數據庫中的數據不正確,而與代碼無關。 – user3147145

+0

它永遠不會是這樣。如果你的查詢語法錯誤失敗 - 這是你的錯誤 – zerkms

回答

1

你的警告是不會告訴你的ID必須爲1。相反,它是說mysqli_num_rows()中的第一個參數需要是mysqli_result。你正在給一個布爾值。

這是因爲您致電mysqli_query返回布爾值FALSE。請閱讀該功能的文檔,並且您還可以找出mysqli_error的錯誤。

+0

那麼爲什麼它在userid = 1時工作正常,而不是當userid是其他任何東西? – user3147145

+0

我不會去猜測。你所要做的就是'if($ rrr === false)echo $ db-> error'。 –

+0

@ ginowa320我試過了。給了我'注意:未定義的屬性:數據庫:: $錯誤在/ home/theclear/public_html/redline/file.php在94行(我補充說,到底如果多數民衆贊成在這個問題?) – user3147145