2013-03-19 5 views
7

So ZF Zitiert Ich habe 2.1.4 aktualisiert und ich wurde mit einem Hinweis sagen begrüßt: Attempting to quote a value in Zend\Db\Adapter\Platform\Mysql without extension/driver support can introduce security vulnerabilities in a production environmenteinen Wert für eine SQL-Abfrage in ZF 2.1.4

Mein DbAdapter wird instanziiert als solche:

return array(
    'service_manager' => array(
    'factories' => array(
     'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory', 
    ) 
    ), 
    'db' => array(
    'driver'   => 'pdo_mysql', 
    'driver_options' => array(
     PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'" 
    ), 
    'dsn'   => 'mysql:dbname=test;host=192.168.1.8', 
    'username'  => 'test', 
    'password'  => 'test', 
    ) 
); 

Was ich zitieren möchte ist folgendes:

$order = 'field(ce.id, ' . $this->_db->getPlatform()->quoteValueList($ids) . ')'; 
$select->order(new Expression($order)); 

Wie soll ich vorgehen? Ich hatte den Eindruck, dass pdo_mysql Treiberunterstützung hatte, um Werte zu zitieren.

+1

möglich Duplikat -> http://stackoverflow.com/ Fragen/15476109/zend-framework-2-subqueries – Crisp

+1

@Crisp Danke, dass hat sehr geholfen. Das Hinzufügen von '$ this-> platform-> setDriver ($ this-> getDriver());' auf der GetPlatform des Zend \ Db \ Adaptors zwang es zu arbeiten. Aber es ist ein Fehler. – mobius

Antwort

Verwandte Themen