我目前正在使用MemSQL Columnstore并尝试将其与laravel 5集成,但每次我尝试进行查询时都会出现以下错误
SQLSTATE [HY000]:常规错误:2014在其他未缓冲的查询处于活动状态时无法执行查询。考虑使用PDOStatement :: fetchAll()。
我一直在搜索并找到了这个:
Don't use prepared statements in Laravel Eloquent ORM?
试图像这样做,但没有工作。这是我的查询
public function index(){
$sql = 'SELECT * FROM SCORE LIMIT 20';
$pdo = DB::getPdo();
$query = $pdo->query($sql);
$result = $query->fetchAll();
return view('home', compact('result'));
}
任何指导都将受到高度赞赏。
答案 0 :(得分:0)
我也有同样的问题。
根据MemSQL文档,您需要配置客户端驱动程序:https://docs.memsql.com/concepts/v6.0/prepared-statements/
在database.php中,添加一个新的选项键。
这是我的配置,它与默认配置几乎相同,请注意选项键。
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
'options' => array(
PDO::ATTR_EMULATE_PREPARES => TRUE
),
],