Hey ho,
in meiner Account-Klasse verwende ich PDO um eine Verbindung zur lokalen MySQL-Datenbank herzustellen.. Das Problem ist:
Bei jedem erneuten Aufruf der query(), siehe unten, wird folgender Fehler ausgegeben:
Nach der Doku soll man PDO::MYSQL_ATTR_USE_BUFFERED_QUERY auf true setzen. Das habe ich in meiner Verbindung so gelöst:
Problem: Es funktioniert nicht^^
$link ist übringens wie folgt definiert:
Was kann ich da tun?
Grüße,
Fabian.
in meiner Account-Klasse verwende ich PDO um eine Verbindung zur lokalen MySQL-Datenbank herzustellen.. Das Problem ist:
Bei jedem erneuten Aufruf der query(), siehe unten, wird folgender Fehler ausgegeben:
Array ( [0] => HY000 [1] => 2014 [2] => 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. ) 1
PHP-Code:
protected function query($query) {
try {
if (preg_match("@^select@is", $query)) {
$sth = $this->link->prepare($query) or die(print_r($this->link->errorInfo()));
$sth->execute();
return $sth;
} else {
$this->link->query($query);
return true;
}
} catch (Exception $e) {
$dbh->rollBack();
echo "DATABASE OPERATION FAILED: " . $e->getMessage();
exit;
}
}
PHP-Code:
private function connect() {
$this->link = new PDO('mysql:host=localhost;dbname=micronax_mymicronax', "mymicronax", "l{7kD01eG-B[");
$this->link->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
return true;
}
$link ist übringens wie folgt definiert:
PHP-Code:
protected $link = false;
Grüße,
Fabian.
Kommentar