我使用以下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全部小写.
>在那里,我改变了
内容要降低(内容)这样
我比较小写
内容.
您可以按照其他答案中的建议在查询中进行这两项更改.