我正在用Silex做一些测试以开发REST API,但是从数据库中获取数据时遇到问题。
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
最佳答案
好的,我只是在样式之前添加了一个带有\的常量,并且它起作用了。
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));
}
关于php - 当我尝试使用Silex框架更改默认的访存样式时,出现“MysqliException:未知访存类型'FETCH_ASSOC'”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24807451/