データベースには「TeST」というフィールドがあり、Caps Lockがどこにあるかわかりません。ただ、彼をstrtolowerし、そのようなことをしたい
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) = ?";