我正在使用PDO和準備語句,但我似乎無法得到任何結果時比較ENUM字段與整數。PDO無法比較使用整數準備語句中的mysql ENUM
例如:如何得到這個工作
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');
任何想法:
$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());
我測試對這個表?
我轉換爲PDO,我不希望重寫所有的常量,枚舉和查詢我的應用程序:(
好的。我會挖掘一個大洞,直到所有ENUM被聰明的外鍵取代,我纔會出來。 *嘆息* – Joernsn 2010-09-02 13:16:16