1
<?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())

有什么帮助吗?因为我从昨天开始就在做这件事,我找不到错误。

4

2 回答 2

3

1)验证您的数据库表是否命名为chat_message(也许是chat_messages?)

2)验证您的chat_message.id字段是否存在

3)验证您的php变量是否$id$id2整数/浮点数!

于 2013-01-21T14:51:20.277 回答
3

$result = $db->query($sql);正在返回错误。这意味着查询由于某种原因而失败。

引用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);
}
于 2013-01-21T14:43:04.477 回答