0

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

4

1 に答える 1