一尘不染

如何使SELECT在PHP / MySQL中不区分大小写?

mysql

她是我的问题,我想这真的很基础。

我正在尝试在数据库中查找是否存在一行。这是我的代码:

$req="SELECT * FROM INSTITUTS WHERE inst_name='$fc_inst'";
$result=mysql_query($req) or die ('Erreur :'.mysql_error());
if (mysql_num_rows($result)){
echo '  name exist';
}
else {
echo '  does not exist.';
}

问题是,当我寻找“测试”时,它说不存在,即使我的数据库中有“测试”也是如此。


阅读 307

收藏
2020-05-17

共1个答案

一尘不染

您可以使用LIKE

WHERE foo LIKE 'bar'

或者,您可以使用以下两种方式将它们都转换为小写:

WHERE LOWER(foo) = LOWER("bar")

该示例LOWER()最有效,您知道数据库中的所有数据已经​​是小写,然后可以执行:

WHERE foo = LOWER("bar")

LIKE可以小写数据库中所有数据的情况相比,这将是一个便宜的比较。

2020-05-17