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

您需要引用该ENUM值以及 escape read这是 MySQL 中的保留字

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