我一直在使用此语句中的LIKE
函数,但它没有按照我的预期执行操作,基本上我网站上的用户有一个subject
,通常看起来像hello welcome to my #room hows it going #fun
1}}以及使用的是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
中选择单词而不只是第一个单词。
答案 0 :(得分:5)
您还需要在字符串开头的%
进行搜索。
$sql = "SELECT * FROM `usr_users` WHERE `subject` LIKE '%$search%'";
---更新---
可能会因为您可能需要转义数据而失败。针对您的查询检查mysql_error()的错误。它可能会给你一些关于它的东西。 mysql_real_escape_string()。如果它是你实际查询的一部分,#可能是罪魁祸首。或者使用htmlspecialchars()或类似的东西来回显查询。