2012-04-11 16 views

Antwort

1

versuchen, habe ich Unterstützung von ZF nicht in dieser selbe Art und Weise für vorbereitete Anweisungen finden. Das einzige, was Sie tun können, ist es zu emulieren, wie @Nikita Gopkalo gepostet hat.

1

können Sie mögen diese Nach einigen Recherchen

$sql = "SELECT * FROM table_name WHERE id = :id'"; 
$stmt = new Zend_Db_Statement_Pdo($this->_db, $sql); 
$stmt->execute(array(':id' => $id)); 
+1

ist es wirklich wie diese Arbeit: http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html oder ist es nur eine Emulation? – Karol

+0

Sie können dieselbe Anweisung in der nächsten Anfrage nicht erneut verwenden, ohne sie erneut zu erstellen. Daher funktioniert sie nicht auf die gleiche Weise. – Karol

3
$sql = "SELECT * FROM table_name WHERE id = :id "; 

$stmt = Zend_Registry::get("db")->prepare($sql); 

$data=array(array('id'=> $id); 

$stmt->execute($data); 

print_r($stmt->fetchAll()); 
0

Sie sollten sich die Zend-Dokumentation anschauen.

https://github.com/zendframework/zend-db/blob/master/doc/book/result-set.md

so hier ist ein Beispielcode.

<?php 

use Zend\Db\Adapter\Driver\ResultInterface; 
use Zend\Db\ResultSet\ResultSet; 

$statement = $driver->createStatement('SELECT * FROM users'); 
$statement->prepare(); 
$result = $statement->execute($parameters); 

if ($result instanceof ResultInterface && $result->isQueryResult()) { 
    $resultSet = new ResultSet; 
    $resultSet->initialize($result); 

    foreach ($resultSet as $row) { 
    echo $row->my_column . PHP_EOL; 
    } 
} 

?> 
Verwandte Themen