Zend db 在配置数组中设置驱动程序选项
我在运行多个语句时遇到一些问题 我得到了错误 “当其他未缓冲查询处于活动状态时,无法执行查询” 我想知道是否可以全局设置驱动程序选项MYSQL\u ATTR\u USE\u BUFFERED\u QUERY 首先我试过这个:Zend db 在配置数组中设置驱动程序选项,zend-db,zend-framework3,Zend Db,Zend Framework3,我在运行多个语句时遇到一些问题 我得到了错误 “当其他未缓冲查询处于活动状态时,无法执行查询” 我想知道是否可以全局设置驱动程序选项MYSQL\u ATTR\u USE\u BUFFERED\u QUERY 首先我试过这个: return [ 'db' => [ 'driver' => 'PDO', 'dsn' => 'mysql:host=localhost;dbname=ccc', 'username' =>
return [
'db' => [
'driver' => 'PDO',
'dsn' => 'mysql:host=localhost;dbname=ccc',
'username' => 'root',
'password' => '',
'driver_options' => [
1002 => 'SET NAMES UTF8mb4;',
1000 => 'MYSQL_ATTR_USE_BUFFERED_QUERY ;'
],
],
但它没有效果
我还尝试在执行存储过程后显式关闭光标:
$stmt = $this->db->createStatement();
$stmt->prepare("CALL historieAdd($historie->vertragsnr,'$historie->datum_von','$datumbis','$historie->feld', $historie->neuer_wert)");
$result = $stmt->execute();
$stmt->closeCursor();
$this->db
是适配器接口$db
的对象,它没有方法closCursor
我发布了这两种可能性,因为我不确定在哪里以及如何正确地进行。任何需要解释的帮助都将不胜感激。我没有尝试过,但对我来说,我设置了
PDO::ATTR\u STRINGIFY\u FETCHES=>false
,效果很好,我想你可以试试PDO::MYSQL\u ATTR\u USE\u BUFFERED\u QUERY=>true
(PDO::MYSQL\u ATTR\u USE\u BUFFERED\u QUERY=1000)相反,因为它期望PDO属性的值为true或false