用like和concatenate删除查询

时间:2014-11-28 07:21:34

标签: php mysql

我是php和mysql的新手,我正在使用带有CONCAT功能的删除查询,但它显示出一些错误。 我的SQL查询是

$sql = "delete from  wp_users_friends where userid ='$username' 
and frid LIKE CONCAT('%',$frUserID)";

错误是

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的')'附近使用正确的语法

我在这方面遇到很多麻烦,试着帮助我

3 个答案:

答案 0 :(得分:3)

纠正于:

$sql = "delete from  wp_users_friends where userid ='$username' 
and frid LIKE  '%$frUserID'";

MySQL CONCAT()函数用于连接字符串以使它们成为单个字符串。这里不需要。

如果您想查找以$frUserID开头的ID,请在开头使用类似关键字和通配符运算符%

此运算符%将搜索从frid开始$frUserID的所有行。

答案 1 :(得分:1)

如下所示进行查询:

$sql = "DELETE FROM wp_users_friends WHERE userid ='$username' AND frid LIKE '%".$frUserID."'";

答案 2 :(得分:1)

您不应将CONCAT()用于LIKE表达式,而是使用类似其他答案之一的查询。

只是想添加,您应该将单引号')用于传递给CONCAT()的变量。

所以不要这样做:

$someSql = "CONCAT('%',$frUserID)";

你应该这样做:

$sql = "CONCAT('%','$frUserID')";

请注意$frUserId附近的单引号。