2014-06-05 156 views
-1

我有一塊PHP代碼用於抓取數據庫中的20條下一條消息。mysqli_query()返回一個布爾值

<?php 
    $user_email_msg = "[email protected]"; 
    $msg_email = "[email protected]"; 
    $start_query_msg = 1; 
    $end_query_msg = $start_query_msg-20; 
    $user_link_msg = mysqli_connect("localhost", "root", "admin", $user_email_msg); 
    $query_msg = "SELECT * FROM " . $msg_email . " WHERE id BETWEEN " . (string)$end_query_msg . " AND " . (string)$start_query_msg; 
    $result_msg = mysqli_query($user_link_msg, $query_msg); 

    $row_msg = mysqli_fetch_all($result_msg, MYSQLI_NUM); 

    $next_20 = $row_msg[0]; 

    print_r($next_20); 
?> 

當運行此代碼我得到這個錯誤消息:

「警告:mysqli_fetch_all()預計參數1被mysqli_result,布爾在C中給出:\ XAMPP \ htdocs中\傑登\消息.php on line 10「

我很迷茫,因爲我看不到$result_msg可以返回一個布爾值的任何方式。

我該如何解決這個問題?

+0

打印查詢和使用phpMyAdmin或你的MySQL命令提示符下手工執行它。如果它有效,使用'mysqli_error()'知道究竟是哪裏出了問題。如果沒有,請修復您的查詢。 –

回答

0

echo變量$query_msg並在phpmyadmin或任何最喜愛的應用程序中運行查詢。錯誤是關於現在sql查詢中的錯誤。

0

打印查詢並檢查查詢是否正常。

print_r($query_msg); 

當您的查詢不正確時會出現此問題。

2

我可能是錯的,但最有可能你的第四個參數mysqli_connect不是一個電子郵件地址,而應是數據庫名稱

+0

許多問題中的第一個,我確定;) – Phil

+1

我假設查詢中的表名相同。 – enricog