具有多个条件的SQL更新

时间:2016-05-14 11:55:38

标签: php mysql sql sql-update syntax-error

我知道这很简单,但我已经看了一段时间,似乎无法确定问题所在。我想使用两个条件更新表中的行。当我使用任何一个标准时,表格会更新,但是当我将它们组合起来时,它就不起作用了。

这是查询

$updatequery = "UPDATE query SET audio='$finalpath' WHERE content='$title' AND WHERE userid LIKE '%$regID%'";

注册的一个例子:

APA91bGHS59rrpM0sbX9PIYT3SzXs-W1yEtGa2xGMGJXi8O1vW2SrgN7koHDj2o6ZwKvkd3TxtzhktsiVtQNSYQRa4uNDF7Yy0VOf0BJfQOnJWMtN2WBQjmVDsuU-0GxmceNLd8SWqOM

内容示例: 我在哪里可以找到一辆车

4 个答案:

答案 0 :(得分:2)

您只需使用where关键字一次:

$updatequery = 
"UPDATE query SET audio='$finalpath' WHERE content='$title' AND userid LIKE '%$regID%'";
# "WHERE" removed here ------------------------------------^

强制性评论:
像这样使用字符串操作会使代码容易受到SQL注入攻击。您应该考虑使用prepared statements代替。

答案 1 :(得分:1)

您的查询错误。

试试这个:

 $updatequery = "UPDATE query SET audio='$finalpath' WHERE content='$title' AND userid LIKE '%$regID%'";

编辑: 哪里只需要一次。

答案 2 :(得分:1)

您只能拥有一个 WHERE子句,因此这是一个语法错误:

WHERE content='$title' AND WHERE userid LIKE '%$regID%'

在单个子句中结合逻辑:

WHERE content='$title' AND userid LIKE '%$regID%'

WHERE子句基本上与任何其他语言的条件一样。您可以根据需要构建一个复杂的布尔条件树,只要整个事情解析为布尔值就可以了。

答案 3 :(得分:1)

WHERE content='$title' AND userid LIKE '%$regID%'

只需要一次

相关问题