喜欢函数 SQL


LIKE function SQL

我一直在使用此语句中的函数LIKE但是它没有做我期望它做的事情,基本上我网站上的用户有一个通常看起来像这样hello welcome to my #room hows it going #funsubject,im 使用的是一个LIKE函数来选择所有用户,subject包含#fun我的语句看起来像这样;

$search = 'fun';
$sql = "SELECT * FROM `usr_users` WHERE `subject` LIKE '%$search%'";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
    echo $row['username'];
}

但是,当查询运行时,它仅选择在subject开始时玩得开心或根本不玩乐的用户。 我可以使用不同的功能从subject中选择单词,而不仅仅是第一个单词。

还需要在字符串开头有一个%进行搜索。

$sql = "SELECT * FROM `usr_users` WHERE `subject` LIKE '%$search%'";

---更新---

它可能会让您失望,因为您可能需要转义数据。 检查查询是否存在错误 mysql_error()。它可能会给你一些关于它的东西。mysql_real_escape_string()。如果该#是您实际查询的一部分,则可能是罪魁祸首。或者使用 htmlspecialchars() 或类似的东西来回显查询。