PHP / Mysql搜索 – 区分大小写

我使用以下PHP和MySql从表中获取行,

$search_word=$_GET['search_word'];
$search_word_new=mysql_escape_string($search_word);
$search_word_fix=str_replace(" ","%",$search_word_new);
$sql=mysql_query("SELECT * FROM tweets WHERE content LIKE '%$search_word_fix%' ORDER BY votes DESC LIMIT 20");

‘content’字段是包含推文的TEXT字段.

我遇到的问题是如果我搜索’Stackoverflow’我得到的所有结果都包含’Stackoverflow’,但是当文本是’stackoverflow’时没有结果.基本上搜索区分大小写.

是否可以更改查询或PHP,以便在搜索“Stackoverflow”时返回大写和小写结果?

最佳答案
你可以试试:

$search_word_fix=strtolower(str_replace(" ",$search_word_new));
$sql=mysql_query("SELECT * FROM tweets WHERE lower(content) LIKE '%$search_word_fix%' ORDER BY votes DESC LIMIT 20");

>我添加了strtolower
$search_word_fix全部小写.
>在那里,我改变了
内容要降低(内容)这样
我比较小写
内容.

您可以按照其他答案中的建议在查询中进行这两项更改.

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注