当我使用Zend的PDO_Mysql适配器时,我遇到了一些问题。
的application.ini
resources.db.adapter = mysqli
resources.db.host = localhost
resources.db.dbname = myproject
resources.db.username = root
resources.db.password = 123456
resources.db.profiler.enabled = true
resources.db.profiler.class = "Zend_Db_Profiler_Firebug"
bootstrap.php中的DB init
$database = $config['resources']['db'];
$db = Zend_Db::factory($database['adapter'], $database);
$db->setFetchMode(Zend_Db::FETCH_OBJ);
$db->query("SET NAMES 'utf8';");
$db->query("SET CHARACTER SET 'utf8';");
Zend_Db_Table::setDefaultAdapter($db);
Zend_Registry::getInstance()->set('db', $db);
return $db;
好的,当我做一个简单的fetchAll()并检查循环时:
foreach ($rows as $row) {
if ($row->id === 1) {
echo 'first id';
} else {
echo 'other rows';
}
}
表中存在一行“ID”=“1”(整数),但是,出于任何原因...当我使用PDO_Mysql时,我无法进行数据类型比较(“===”或“!== “),但如果我使用”Mysqli“适配器工作正常。
使用PDO_Mysql适配器,每行的每一列都是“string”(当我用var_dump检查时)。
有人知道原因吗?
感谢。