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 ‘%$se

我使用以下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全部小写.
>在那里,我改变了
内容要降低(内容)这样
我比较小写
内容.

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

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐