Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在枚举类型上使用WHERE in SQL语句会中断mysql\u查询_Php_Mysqli - Fatal编程技术网

Php 在枚举类型上使用WHERE in SQL语句会中断mysql\u查询

Php 在枚举类型上使用WHERE in SQL语句会中断mysql\u查询,php,mysqli,Php,Mysqli,守则: $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(

守则:

        $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')。

您需要引用
ENUM
值,以及escape
read
,:


您需要引用
ENUM
值,以及escape
read
,:


read
是MySQL中的保留关键字。由于这是列的名称,请在WHERE子句中的单词周围添加反勾号,这样可以解决问题:

SELECT * FROM tweets WHERE `read` = 'n';

read
是MySQL中的保留关键字。由于这是列的名称,请在WHERE子句中的单词周围添加反勾号,这样可以解决问题:

SELECT * FROM tweets WHERE `read` = 'n';

$query=“从tweets中选择*read='n'”@Markedagain已经试过了。仍然返回相同的错误。$query=“SELECT*FROM tweets WHERE read='n'”@Markedagain已经试过了。仍然返回相同的error.Eff。我知道这很简单。谢谢你的帮助@没问题!有时PHP/MySQL错误可能有点神秘和/或不具有建设性。帮助解决这些问题的一种方法是调用
printf(“错误:%s\n”,mysqli_Error($mysqli))在查询之后-它应该给您一个提示,告诉您查询失败的确切位置(希望=P).Eff。我知道这很简单。谢谢你的帮助@没问题!有时PHP/MySQL错误可能有点神秘和/或不具有建设性。帮助解决这些问题的一种方法是调用
printf(“错误:%s\n”,mysqli_Error($mysqli))在查询之后-它应该给您一个提示,告诉您查询失败的确切位置(希望=P)。