web-dev-qa-db-ja.com

PHP-クエリでstrtolowerを使用する方法

データベースには「TeST」というフィールドがあり、Caps Lockがどこにあるかわかりません。ただ、彼をstrtolowerし、そのようなことをしたい

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

どうやってやるの?

17
Daniel

PDOの使用とMySQLの想定

$stmt = $db->prepare('SELECT * FROM table WHERE LOWER(`field`) = ?');
$stmt->execute(array(strtolower($var)));
46
Phil

MySQLでは、関数は LOWER と呼ばれます。この場合も、フィールドまたはクエリで大文字と小文字を区別しない照合を使用でき、大文字と小文字に関係なく一致します。より良いオプション。

10
Wrikken

単純に:を使用します

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

または使用

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

両方の関数は同じように動作します

6
Vi8L

mysqlのLOWER関数を使用して、フィールド値を小文字に変換できます。例えば:

"select * from table_name where LOWER(email) = ?";
4
Lovepreet Singh