我有问题,我在google上找了它,找不到它。
$result = mysqli_query($link,"SELECT * FROM update ");
错误
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in
当我将查询更改为:
时$result = mysqli_query($link,"SELECT * FROM `update` ");
有效。那是为什么?
答案 0 :(得分:4)
答案 1 :(得分:2)
那些不是“严重的口音”(口音高于字母);他们是反叛。
你应该用反引号包围字段名称,以显示它们是字段名称而不是函数,运算符,命令等。
你通常可以在没有这样做的情况下离开(似乎你已经习惯了它!),但是如果您的名字实际上是MySQL保留的关键字 - 例如, UPDATE
- 你做不到。
答案 2 :(得分:1)
UPDATE是MySQL的关键字,因此它会导致错误(mysql非常混乱,因为你在select中开始更新)。基本上它建议将数据库,表和列名称放在“以避免这种情况”之间,你也应该检查mysqli_query
返回的内容,在这种情况下,你得到的是false
而不是mysqli_result
对象,你可以阅读一条错误信息(可能没有多说'你有一个错误附近...检查你的查询语法',但无论如何你会知道有什么不对的;)):
if (!($result = mysqli_query($link, $query))) {
die('MySQLi error: ' . mysqli_error($link));
}
答案 3 :(得分:0)
我不是SQL专家,但update
是SQL主动寻找的特殊词。因此,在名为update的表中选择内容,需要在引号中进行更新。