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
值,以及escaperead
,:
您需要引用
ENUM
值,以及escaperead
,:
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)。