Mysql Query With Censored Words(LIKE)[已关闭]

snvhrwxg  于 2023-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(94)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答复。

此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
3小时前关闭
Improve this question
我有一个审查的名字和姓氏值。我想在mysql上搜索这个值。
删失名称=“A***K***”
删失姓氏=“L***”
我需要一个mysql命令才能运行这个查询。

我的密码:

SELECT * FROM `users` WHERE name LIKE 'A% K%' AND surname LIKE = 'L%'

错误:

Uncaught Error: Call to a member function fetch_assoc() on bool in /opt/lampp/htdocs/x.php:15

正如我上面提到的,我需要在这种格式的数据库中执行搜索,但正如我上面提到的,我得到一个错误,我想你提供一个代码示例,将正常工作,顺利。

2eafrhcq

2eafrhcq1#

这是不正确的语法:

surname LIKE = 'L%'

使用LIKE如下:

surname LIKE 'L%'

在准备查询后,应始终检查错误。PHP数据库函数如mysqli_query()返回false如果有类似上面的SQL语法错误。
应该始终检查数据库函数返回的错误状态。

hmae6n7t

hmae6n7t2#

你得到的错误是因为LIKE运算符只匹配字符串的第一个字符。因此,当您尝试使用LIKE运算符匹配经过审查的名称“A***K***”时,它将只匹配第一个字符“A”。
要解决此问题,可以使用%通配符。通配符%可以匹配任意数量的字符,因此您可以使用它来匹配经过审查的姓名和姓氏。
下面的代码将工作:
SQL

SELECT * FROM `users` WHERE name LIKE 'A% K%' AND surname LIKE '%L%';

谨慎使用代码。了解更多此代码将匹配姓名以“A”开头,中间有两个字母,以“K”结尾,姓氏有一个或多个字母后跟“L”的任何用户。

相关问题