删除带有“喜欢”和“连接”的查询


delete query with like and concatenate

我是 php 和 mysql 的新手,我正在使用带有 CONCAT 函数的删除查询,但它显示了一些错误。我的 sql 查询是

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

错误是

您的 SQL 语法有误;请查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的")"附近使用的正确语法

在这方面遇到了很多麻烦,请尽力帮助我

更正为:

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

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

如果要查找以 $frUserID 开头的 id,请使用开头带有通配符运算符%的 like 关键字。

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

按如下方式进行查询:

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

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

只是想补充一点,你应该使用单引号' ) 作为你传递给CONCAT()的变量。

所以与其这样做:

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

你应该做:

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

请注意 $frUserId 两边的单引号。