我的 mysqli 查询有什么问题


What is wrong with my mysqli query?

如果我听起来很菜鸟,我很抱歉,但我在这里需要一些帮助。我无法弄清楚这个查询:

    $query = "SELECT * FROM msgs WHERE read = 1 AND userid='{$uId}' AND
orderid='{$oId}'; ";

当我对查询结果进行var_dump时,我得到了bool(false)但是当我在没有read = 1部分的情况下执行相同的操作时,它会正确返回结果,因此我想问题出在read = 1部分。请帮忙,read字段类型为 tinyint(1)

您需要

在查询中使用反引号,因为您使用了保留关键字read:-

$query = "SELECT * FROM `msgs` WHERE `read` = 1 AND `userid`='{$uId}' AND `orderid`='{$oId}'";

注意:- read这里是保留关键字,我添加了其他人,因为记住所有保留关键字并不容易,因此在列名称周围使用反引号是更好的方法。

@chris85给出的深度知识链接:- https://dev.mysql.com/doc/refman/5.5/en/keywords.html