Ankündigung

Einklappen
Keine Ankündigung bisher.

PDO: LOAD DATA INFILE bringt General error: 2014 mit PDO::ATTR_EMULATE_PREPARES => false,

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PDO: LOAD DATA INFILE bringt General error: 2014 mit PDO::ATTR_EMULATE_PREPARES => false,

    Hi,
    wenn ich die Option PDO::ATTR_EMULATE_PREPARES => false setze liefert mir PDO beim Ausführen von LOAD DATA INFILE (MySQL) einen Fehler dieser Art:
    Code:
    PDO::query(): SQLSTATE[HY000]:
      General error: 2014 Cannot execute queries while other unbuffered queries are active.
      Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql,
      you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
    Diese Information führt vollends in de Irre. Im besagten Skript ist weder eine "unbuffered queries active" noch das ein Setzen von
    PDO::MYSQL_ATTR_USE_BUFFERED_QUERY etwas bewirken würde.
    Hab gestern eine gefühlte Stunde gebraucht um die vermeintliche Query zu finden, welche da noch aktiv sein soll.
    Ich muss nur PDO::ATTR_EMULATE_PREPARES => true setzen, damit LOAD DATA INFILE korrekt arbeitet.
    Diese Eigenart geht über alle PHP-Versionen von 5.3 bis 7.0.11.
    Mein letzter Erkenntnisstand ist, das ein Arbeiten mit PDO::ATTR_EMULATE_PREPARES => false empfohlen wird.
    Deshalb wollte ich diese Einstellung generell so nutzen.

    Bei der Suche im Web mit den Begriffen PDO LOAD DATA INFILE PDO::ATTR_EMULATE_PREPARES findet man dann auch entsprechende Hinweise.

    Kann mir jemand eine Erklärung für dieses Verhalten liefern?
    jspit.de

Lädt...
X