Php zend framework 1 zend_db在不同条件下的结果相同

Php zend framework 1 zend_db在不同条件下的结果相同,php,mysql,database,zend-framework,frameworks,Php,Mysql,Database,Zend Framework,Frameworks,我的问题是,当我想用zend framework 1从数据库中读取数据时,即使使用不同的条件,也会得到完全相同的结果。 我的名为“maps”的表包含2行: id: 1 date: date1 description: sth1 userid: 30 id: 2 date: date2 description: sth2 userid: 30 application.ini: resources.db.params.charset = "utf8" resources.db.adapte

我的问题是,当我想用zend framework 1从数据库中读取数据时,即使使用不同的条件,也会得到完全相同的结果。
我的名为“maps”的表包含2行:

id: 1 date: date1 description: sth1 userid: 30  
id: 2 date: date2 description: sth2 userid: 30
application.ini:

resources.db.params.charset = "utf8"  
resources.db.adapter = pdo_mysql  
resources.db.params.host = localhost  
resources.db.params.username = root  
resources.db.params.password =  
resources.db.params.dbname = gallery  
在我的控制器中:

$gallery = new Gallery_Model_DbTable_Maps();  
$maps = $gallery->getMaps($user_id);  
$this->view->datas = array(
     'maps' => $maps,
);
在我的模型中:

class Gallery_Model_DbTable_Maps extends Zend_Db_Table_Abstract  
{  
    protected $_name = 'maps';  
    public function getMaps($id){  
        $select = $this->select();  
        $select->where('userid = ?', $id);  
        $rows = $this->fetchAll();  
        return $rows->toArray();  
    }  
}
如果我在“Gallery\u Model\u DbTable\u Maps”中将“$id”替换为30以外的值,我总是会得到上面提到的两行。。。 如果我改变这个函数

 public function getMaps($id){  
    $dbAdapter = Zend_Db_Table::getDefaultAdapter();
    $stmt = $dbAdapter->query('SELECT * FROM maps WHERE userid = 32');
    $rows = $this->fetchAll()->toArray();
    return $rows;
 }
…问题仍然存在,并得到相同的结果。 但是如果我在phpmyadmin中运行查询,一切都很好

另外一个想法是(可能有助于找出问题所在),如果我使用联接,联接表数据不会出现在结果中(在zf结构中),但是如果我在phpmyadmin中运行此查询(包含联接),一切都很好。

尝试以下操作:

$select = $this->select();  
$select->where('userid = ?', $id);  
$rows = $this->fetchAll($select); // rowset
阅读更多关于它的信息

如果使用Zend_Db_适配器,则会出现如下情况:

$dbAdapter = Zend_Db_Table::getDefaultAdapter();
$sql = 'SELECT * FROM maps WHERE userid = ?';
$rows = $dbAdapter->fetchAll($sql, $id); // array

了解更多信息

谢谢,这就是问题所在。$dbAdapter=Zend_Db_Table::getDefaultAdapter()$stmt=$dbAdapter->query('SELECT*FROM maps WHERE userid=32')$行=$this->fetchAll()->toArray();返回$rows;你能帮我查一下基于查询的结果吗(在我上次的syript中)?