REST API を開発するために Silex でいくつかのテストを行っていますが、データベースからデータをフェッチしているときに問題が発生します。
MysqliException: Unknown fetch type 'FETCH_ASSOC'"
フェッチ タイプを追加しないと、PDO::FETCH_BOTH を使用してデータを正しく受信します。これは、テーブルに多くのフィールドがあり、番号と列名で繰り返される場合に面倒です。
public function getData(Application $app, $parentId){
$sql = "SELECT * FROM table WHERE parent_id = '$parentId' AND active = '1' ORDER BY label";
$rs = $app['db']->query($sql);
return $app->json($rs->fetchAll('PDO::FETCH_ASSOC'));
}
データベースに MySqli を登録します。
$app->register(new Silex\Provider\DoctrineServiceProvider(), array(
'db.options' => array(
'driver' => 'mysqli',
'host' => 'localhost',
'dbname' => 'database_name',
'user' => 'user',
'password' => 'password',
),
));
私は実際に私が間違っていることを理解するでしょう。
なぜこれが起こるのか、それを解決する方法を知っている人はいますか?
問題に関するいくつかのリンク: http://www.doctrine-project.org/api/dbal/2.2/class-Doctrine.DBAL.Driver.Mysqli.MysqliStatement.html