PHP - 如何在查询中使用strtolower

Dan*_*iel 17 php lowercase

在数据库中,我有这个字段:" TeST ",我不知道大写锁定在哪里,我只是想对他进行讨论并做类似的事情.

SELECT * FROM table WHERE strtolower(field) = strtolower($var)
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Phi*_*hil 46

使用PDO并假设MySQL

$stmt = $db->prepare('SELECT * FROM table WHERE LOWER(`field`) = ?');
$stmt->execute(array(strtolower($var)));
Run Code Online (Sandbox Code Playgroud)


Wri*_*ken 10

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


Vi8*_*i8L 6

只需使用:

"SELECT * FROM `table_name` WHERE LOWER(`field_name`)='".strtolower($_var)."'";
Run Code Online (Sandbox Code Playgroud)

或者使用

"SELECT * FROM `table_name` WHERE LCASE(`field_name`)='".strtolower($_var)."'";
Run Code Online (Sandbox Code Playgroud)

两个功能都相同