2014-06-05 191 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