在数据库中,我有这个字段:“测试”。我不知道大写字符在哪里。我只想降低它们并执行以下操作:
SELECT * FROM table WHERE strtolower(field) = strtolower($var)
我怎样才能做到这一点?
使用 PDO 并假设 MySQL
$stmt = $db->prepare('SELECT * FROM table WHERE LOWER(`field`) = ?');
$stmt->execute(array(strtolower($var)));
在 MySQL 中,调用该函数LOWER
然后,您可以在字段或查询中使用不区分大小写的排序规则,并且无论大小写都将匹配,这似乎是更好的选择。
只需使用:
"SELECT * FROM `table_name` WHERE LOWER(`field_name`)='" . strtolower($_var) . "'";
或使用:
"SELECT * FROM `table_name` WHERE LCASE(`field_name`)='" . strtolower($_var) . "'";
这两个功能的工作原理相同。
MySQL 中的LOWER
函数可用于将字段值转换为小写。
例如:
"select * from table_name where LOWER(email) = ?";