コードは次のとおりです。ここで、Pdo_mysql を使用することを目指しています。
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 );
そして、識別子-引用符記号を次のようにチェックすると:
print $this->platform->getQuoteIdentifierSymbol(); // Output: "
ご覧のとおり、二重引用符が記号です。これはもちろん、すべての識別子名 (テーブル、列など) を前方引用符 (`) ではなく二重引用符 (") で引用するため、私のすべての MySQL クエリを無効にします。
では、なぜ PDO-MySQL ドライバーは代わりに Sql92 シンボルを使用するのでしょうか? そして、それを修正する方法は?