16

在数据库中,我有这个字段:“测试”。我不知道大写字符在哪里。我只想降低它们并执行以下操作:

SELECT * FROM table WHERE strtolower(field) = strtolower($var)

我怎样才能做到这一点?

4

4 回答 4

46

使用 PDO 并假设 MySQL

$stmt = $db->prepare('SELECT * FROM table WHERE LOWER(`field`) = ?');
$stmt->execute(array(strtolower($var)));
于 2011-07-28T00:34:26.670 回答
10

在 MySQL 中,调用该函数LOWER然后,您可以在字段或查询中使用不区分大小写的排序规则,并且无论大小写都将匹配,这似乎是更好的选择。

于 2011-07-28T00:30:06.103 回答
6

只需使用:

"SELECT * FROM `table_name` WHERE LOWER(`field_name`)='" . strtolower($_var) . "'";

或使用:

"SELECT * FROM `table_name` WHERE LCASE(`field_name`)='" . strtolower($_var) . "'";

这两个功能的工作原理相同。

于 2018-01-09T11:28:32.457 回答
4

MySQL 中的LOWER函数可用于将字段值转换为小写。

例如:

"select * from table_name where LOWER(email) = ?";
于 2016-11-16T07:27:36.323 回答