php - RAW与Zend框架的SQL查询




mysql zend-framework (3)

如果您在开始时创建Zend_DB对象,则可以使用该对象创建查询。 在手册中查看这个条目: http : //framework.zend.com/manual/en/zend.db.statement.html

$stmt = $db->query(
            'SELECT * FROM bugs WHERE reported_by = ? AND bug_status = ?',
            array('goofy', 'FIXED')
        );

要么

$sql = 'SELECT * FROM bugs WHERE reported_by = ? AND bug_status = ?';
$stmt = new Zend_Db_Statement_Mysqli($db, $sql);

有没有办法在Zend Framework中作为查询来执行一个SQL字符串?

我有一个这样的字符串:

$sql = "SELECT * FROM testTable WHERE myColumn = 5"

现在我想直接执行这个字符串,并解析它,并“手工”地创建一个Zend_Db_Table_Select对象。 或者,如果可能的话,从这个字符串创建一个Zend_Db_Table_Select对象,执行该对象。

我怎样才能做到这一点? 我在Zend doc中没有找到这个解决方案。


您可以使用与Zend格式相同的查询

$select = db->select()->from(array('t' => 'testTable'))
                     ->$where= $this->getAdapter()->quoteInto('myColumn = ?', $s);
$stmt = $select->query();
$result = $stmt->fetchAll();

这是一个ZF1的例子:

$db =Zend_Db_Table_Abstract::getDefaultAdapter();
$sql =    "select * from user"
$stmt = $db->query($sql);
$users =  $stmt->fetchAll();




zend-framework