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

$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);
}
于 2013-01-21T14:43:04.477 に答える
3

1 ) db テーブルの名前chat_messagechat_messages

2)chat_message.idフィールドが存在するかどうかを確認する

3) PHP の変数$id$id2が整数/浮動小数点数かどうかを確認してください!

于 2013-01-21T14:51:20.277 に答える