データベースには、「TeST」というフィールドがあります。大文字がどこにあるのかわかりません。私はそれらをstrtolowerして、このようなことをしたいだけです:
SELECT * FROM table WHERE strtolower(field) = strtolower($var)
どうやってやるの?
データベースには、「TeST」というフィールドがあります。大文字がどこにあるのかわかりません。私はそれらを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) = ?";