Я испытываю странное поведение от Yii. По какой-то причине этот код не работает, как ожидалось:CDbCommand возвращает неверные результаты
$sql = "SELECT id, class_id, lang FROM tbl_top_class WHERE class_name = :string";
$cmd = Yii::app()->db->createCommand($sql);
$data[':string'] = "sad";
$result = $cmd->queryAll($data);
$db = new PDO(...);
$stmt = $db->prepare($sql);
$stmt->execute($data);
$result2 = $stmt->fetchAll();
print_r($result);
echo "<br>";
print_r($result2);
Я бы ожидать, что $result
и $result2
идентичны, но они не являются. Это то, что выводит сценарий:
Array ([0] => Array ([id] => 1 [class_id] => 0 [lang] => en-us))
Array ()
А вот структуру БД & данные:
--
-- Table structure for table `tbl_top_class`
--
CREATE TABLE `tbl_top_class` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`lang` varchar(5) NOT NULL,
`class_name` varchar(100) NOT NULL,
`class_id` bigint(20) unsigned NOT NULL,
`description` text,
PRIMARY KEY (`id`),
KEY `lang` (`lang`),
KEY `class_name` (`class_name`),
KEY `class_id` (`class_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `tbl_top_class`
--
INSERT INTO `tbl_top_class` (`id`, `lang`, `class_name`, `class_id`, `description`) VALUES
(1, 'en-us', 'discard', 0, 'Non-classifiable');
оба соединения к той же самой БД и таблицы, с точно такими же учетными данными. Почему у меня разные результаты?
Неужели кто-нибудь знает, что происходит? – tinybyte
У меня такая же проблема. Но все еще нахожу, что происходит. – Magic