zend query framework php mysql sql zend-framework

php - query - zend framework db limit



Consulta SQL RAW con Zend Framework (4)

Si está creando un objeto Zend_DB al comienzo, puede crear una consulta utilizando eso. Eche un vistazo a esta entrada en el manual: 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'') );

O

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

¿Hay alguna forma de ejecutar SQL String como una consulta en Zend Framework?

Tengo una cadena así:

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

ahora quiero ejecutar esta cadena directamente con el análisis y crear un objeto Zend_Db_Table_Select "a mano". O si es posible crear un objeto Zend_Db_Table_Select de esta cadena, para ejecutar ese objeto.

¿Cómo puedo hacer eso? No encontré una solución para esto en el documento Zend.


Puede usar la misma consulta en formato Zend como

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


Si está utilizando tableGateway, puede ejecutar su consulta SQL sin procesar usando esta declaración,

$this->tableGateway->getAdapter()->driver->getConnection()->execute($sql);

donde $ sql pertenece a su consulta sin formato. Esto puede ser útil para consultas que no tienen homólogo ZF2 nativo como TRUNCATE / INSERT SELECT.


Aquí hay un ejemplo para ZF1:

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