ZF2 - \ Zend \ Db \ Adapter \ Platform :: getQuoteIdentifierSymbol ()

Code ist wie folgt, wo ich Pdo_mysql verwenden möchte:

use \Zend\Db\Adapter\Adapter;
use \Zend\Db\Sql\Sql;
use \Zend\Db\Sql\Expression;    

$params = array(
    'driver'   => "Pdo_mysql",
    'host'     => &$this->Registry->config[ 'sql' ][ 'host' ],
    'username' => &$this->Registry->config[ 'sql' ][ 'user' ],
    'password' => &$this->Registry->config[ 'sql' ][ 'passwd' ],
    'dbname'   => &$this->Registry->config[ 'sql' ][ 'dbname' ]
);
$this->adapter  = new \Zend\Db\Adapter\Adapter( $params );
$this->platform = $this->adapter->getPlatform();
$this->sql      = new Sql( $this->adapter );

Und wenn ich das Bezeichner-Anführungszeichen prüfe mit:

print $this->platform->getQuoteIdentifierSymbol();    // Output: "

Wie Sie sehen, ist das doppelte Anführungszeichen das Symbol. Dies macht natürlich alle meine MySQL-Abfragen ungültig, da alle Bezeichnernamen (Tabellen, Spalten usw.) in Anführungszeichen (") anstatt in Anführungszeichen (`) gesetzt werden.

Warum verwendet der PDO-MySQL-Treiber stattdessen das Sql92-Symbol? Und wie kann man das beheben?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage