Fehler bei mehrfachen CALLs auf MySQL mit PDO

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Fehler bei mehrfachen CALLs auf MySQL mit PDO

Postby BitEater » 30. December 2010 10:32

Hallo zusammen,

ich bin gerade etwas am Verzweifeln. Ich nutze XAMPP 1.7.3 unter Windows 7.

In einer meiner PHP Klassen habe ich folgende Funktion:
Code: Select all
    public function ExecuteQuery($query, $params)
    {
        $stmt = $this->pdo->prepare($query);
       
        if (!$stmt->execute($params))
        {   
            print_r($stmt->errorInfo());
            die("MySQL query error");
        }
       
        $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
       
        $stmt->closeCursor();
       
        $stmt = NULL;
       
        return $result;
    }


Wenn ich diese Funktion mehrfach hintereinander aufrufe mit einem "CALL test()" (Diese Prozedur enthält nur "SELECT * FROM testtable;"), erhalte ich beim 2. Aufruf die Fehlermeldung:
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.


Das PDO-Objekt wird wie folgt instanziiert:
Code: Select all
            $this->pdo = new PDO($dsn, $this->username, $this->password,
                array(
                  PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true
               ));


Natürlich habe ich schon gegoogelt, auch schon viele Lösungsvorschläge (PDO::MYSQL_ATTR_USE_BUFFERED_QUERY setzen, closeCursor() aufrufen, PDOStatement Objekt löschen) gefunden, aber bisher hat bei mir nichts geholfen.

Gibt es noch weitere Ideen dazu?

Vielen Dank im Voraus!

BitEater
BitEater
 
Posts: 1
Joined: 30. December 2010 10:19

Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 14 guests