<?php
$id = $_POST["id"];
$id2 = $_POST["id2"];
$db = new mysqli('localhost', '***', '***', '***');
if (mysqli_connect_errno() == 0) {
$sql = "SELECT * FROM chat_message WHERE id > " . $id . " AND id <= " . $id2 . " ORDER BY id";
$result = $db->query($sql);
while ($msg = $result->fetch_object()) {
?>
<div>...</div>
<?php
}
}
$db->close();
?>
我收到此错误:
Call to a member function fetch_object() on a non-object in /var/www/template/loadchat.php on line 11
第11行:
while ($msg = $result->fetch_object())
有任何帮助吗?因为我从昨天开始研究这件事,我找不到错误。
答案 0 :(得分:3)
$result = $db->query($sql);
返回false。这意味着查询因某种原因失败。
引用mysqli::query的PHP手册:
失败时返回FALSE。成功的SELECT,SHOW,DESCRIBE或 EXPLAIN查询mysqli_query()将返回一个mysqli_result对象。对于 其他成功的查询mysqli_query()将返回TRUE。
要检查错误,您可以执行以下操作:
if (!$db->query($sql)) {
trigger_error('Database error: '. $db->error);
}
答案 1 :(得分:3)
1)验证您的db表是否被命名为chat_message
(可能是chat_messages
?)
2)验证您的chat_message.id
字段是否存在
3)验证你的php变量$id
和$id2
是否为整数/浮点数!