0

コード:

        $query = "SELECT * FROM tweets WHERE read=n";
        $result = mysqli_query($mysqli,$query);

        $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
        echo $row["from_user"], $row["text"];

上記のコードは私にこれを与えます:

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /index.php on line 16 

以下のコードはしません:

        $query = "SELECT * FROM tweets";
        $result = mysqli_query($mysqli,$query);

        $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
        echo $row["from_user"], $row["text"];

「読み取り」フィールドは ENUM('y','n') です。

4

2 に答える 2

2

readは MySQL の予約済みキーワードです。これは列の名前であるため、WHERE 句で単語を囲むバックティックを追加すると、問題が解決するはずです。

SELECT * FROM tweets WHERE `read` = 'n';
于 2012-07-21T03:45:27.260 に答える
1

MySQL の予約語であるescapeとENUM同様に、値を引用符で囲む必要があります。read

$query = "SELECT * FROM tweets WHERE `read` = 'n'";
于 2012-07-21T03:45:11.253 に答える