php - 如何根据 MySQL 数据库中的禁用词检查输入?

标签 php mysql

假设,如果我不想在用户名中的任何地方使用“douche”这个词,并且我的数据库中有一个表,其中包含所有被禁止的词...

$q = "SELECT * FROM restrictions WHERE prohibited LIKE '%username%'";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));

if (mysqli_num_rows($r) !== 0)
{
//username is prohibited
echo "invalid";
}
else
{
...etc

问题是我不知道如何执行会获取部分匹配项的查询(即 Jdoucher 或 douchebag4)。 %username% 部分显然是错误的,我知道。有谁知道如何做到这一点?有可能吗?谢谢。

最佳答案

select *
    from restrictions 
    where locate(prohibited, @username) <> 0

关于php - 如何根据 MySQL 数据库中的禁用词检查输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4474130/

相关文章:

php - 创建基于用户兴趣的推荐算法

php - 我可以在 MySQL 中使用 Distinct 和 Union All 吗?

c++ - MySQL C++ 编译失败

php - WordPress:API 出现错误:PUBLISHING_NOT_ALLOWED

PHP 和 MySQL - fatal error : Function name must be a string

javascript - laravel中如何用ajax删除图片

php - sugarcrm 过滤器按字段排序

php - 从 MySQL DB 中删除,表单不会在 PHP 中显示

php - 从Mysql表字段中提取数据并将其放入数组中

mysql - 从 2 个表中查找匹配项,更改其他字段?