我有一個很奇怪的問題,我找不出解決方案。 ($ DB ID PDO對象)MySQL PDO查詢的怪異行爲
$type = 'some_type';
$sql = "SELECT * FROM `last_save` WHERE `type` = :type;";
$st = $DB->prepare($sql);
$st->bindParam(':type', $type, PDO::PARAM_STR);
$st->execute();
$rows = $st->fetchAll();
var_dump($rows);
$行是空數組
array(0) { }
雖然有數據庫中的行該查詢應該獲取。
我的表結構是這樣的:
CREATE TABLE IF NOT EXISTS `last_save` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` text,
`parameter` int(11) DEFAULT NULL,
`value` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我真的運行的想法在這裏,任何幫助,將不勝感激。
這是非常瘋狂的是做一個'WHERE'上'TEXT'列,尤其是一個不索引。不應該像'VARCHAR'那樣簡單嗎? – tadman 2014-10-28 19:53:44
注意:你不需要用'''在pdo查詢中終止你的行 – Sebas 2014-10-28 19:55:02
刪除最後一個分號! – 2014-10-28 19:55:32