16

データベースには、「TeST」というフィールドがあります。大文字がどこにあるのかわかりません。私はそれらをstrtolowerして、このようなことをしたいだけです:

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

どうやってやるの?

4

4 に答える 4

46

PDOを使用してMySQLを想定

$stmt = $db->prepare('SELECT * FROM table WHERE LOWER(`field`) = ?');
$stmt->execute(array(strtolower($var)));
于 2011-07-28T00:34:26.670 に答える
10

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

于 2011-07-28T00:30:06.103 に答える
6

単に使用してください:

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

または使用:

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

どちらの機能も同じように機能します。

于 2018-01-09T11:28:32.457 に答える
4

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

例えば:

"select * from table_name where LOWER(email) = ?";
于 2016-11-16T07:27:36.323 に答える