Я использую PDO и подготовленные операторы, но я не могу получить никаких результатов при сравнении поля ENUM с целым числом .
Пример:
$db = new PDO('mysql:host=localhost;dbname=****', '***', '***'); $s = $db->prepare('SELECT id FROM t2 WHERE lang = ?'); $s->execute(array('en')); // Works print_r($s->fetchAll()); $s->execute(array(2)); // Does not work print_r($s->fetchAll());
Я тестирую эту таблицу:
DROP TABLE IF EXISTS t2; CREATE TABLE t2 ( id int(10) NOT NULL AUTO_INCREMENT, lang enum('no','en','fr') NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO t2 (id, lang) VALUES (NULL , 'en');
Любая идея о том, как заставить это работать?
Я конвертирую в PDO, и я бы предпочел не переписывать все константы, перечисления и запросы в моем приложении 🙁