Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.2K
Views
Error de Laravel: no se pueden ejecutar consultas mientras otras consultas sin búfer están activas

Mi aplicación Laravel (versión 5.0.33) de repente comenzó a arrojar el siguiente error:

local.ERROR: excepción 'PDOException' con mensaje 'SQLSTATE[HY000]: Error general: 2014 No se pueden ejecutar consultas mientras otras consultas sin búfer están activas. Considere usar PDOStatement::fetchAll(). Alternativamente, si su código solo se ejecutará contra mysql, puede habilitar el almacenamiento en búfer de consultas configurando el atributo PDO::MYSQL_ATTR_USE_BUFFERED_QUERY.' en proveedor/laravel/framework/src/Illuminate/Database/Connection.php:296

Mirando la línea relevante en Connection.php, parece que ya está usando fetchAll:

 public function select($query, $bindings = array(), $useReadPdo = true) { return $this->run($query, $bindings, function($me, $query, $bindings) use ($useReadPdo) { if ($me->pretending()) return array(); // For select statements, we'll simply execute the query and return an array // of the database result set. Each element in the array will be a single // row from the database table, and will either be an array or objects. $statement = $this->getPdoForSelect($useReadPdo)->prepare($query); $statement->execute($me->prepareBindings($bindings)); return $statement->fetchAll($me->getFetchMode()); }); }

También agregué lo siguiente a mi config/database.php:

'options' => [ PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true ]

Pero sigo recibiendo el mismo error. Esta aplicación ha estado funcionando correctamente durante años y no había realizado ningún cambio en el código, por lo que no sé por qué sucedió esto de repente. También soy nuevo en Laravel y no escribí el código original, por lo que ni siquiera estoy seguro de dónde comenzar a depurar el problema. ¿Alguien puede ayudar?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Tuve el mismo problema con una consulta en el paquete datatable yajra/laravel-datatables en el servidor de alojamiento, cambiando el juego de caracteres a 'charset' => 'utf8mb4' , intercalación 'collation' => 'utf8mb4_unicode_ci' y algunas opciones funcionan conmigo, completo configuración:

 'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), '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' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => array( PDO::ATTR_EMULATE_PREPARES => true, PDO::MYSQL_ATTR_LOCAL_INFILE => true, PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true ), ],

ref: almacén de columnas Laravel y MemSQL, las consultas sin búfer están activas y https://www.eversql.com/mysql-utf8-vs-utf8mb4-whats-the-difference- between-utf8-and-utf8mb4/

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!