Tag,
habe ein Problem mit einer SQL-Klasse. Als Destruktor-Ablauf wird dort eine bestehende Datenbank-Verbindung (die anhand einer Eigenschaft der Klasse definiert wird) wieder geschlossen. Folgendes Skript benutzt diese Klasse namens "mysql":
Der Query wird dem Konstruktor der Klasse übergeben, habe die jetzt mal gekürzt, damit es das Forum-Layout nicht auseinanderreißt. Problematisch wird es mit dem erneuten Aufruf der der Methode Query in Zeile 21. Zu diesem Zeitpunkt (das beweise Testausgaben vom Destruktor und dem print "1" darüber) ist der Destruktor vom Objekt "sql" schon gerufen und die Verbindung geschlossen worden, und der Query wird mit Standard-Verbindungsdaten aus der php.ini abgesetzt, was natürlich fehlschlägt.
Die MySQL-Klasse ist angehängt.
habe ein Problem mit einer SQL-Klasse. Als Destruktor-Ablauf wird dort eine bestehende Datenbank-Verbindung (die anhand einer Eigenschaft der Klasse definiert wird) wieder geschlossen. Folgendes Skript benutzt diese Klasse namens "mysql":
PHP-Code:
/* gotophp-bookmark file */
require_once("../config-inc.php5");
require_once("db-mysql-inc.php5");
require_once("session-phpbb-inc.php5");
$sql= new mysql;
$sql->query("SELECT pid FROM gtp_pages WHERE...");
if($sql->rows() == 0) { throw new Exception("Unknown chapter-id or page-timestamp given, did you manipulate the URL?"); }
$sess = new bbsession;
if($sess->state())
{
setcookie("sp_gtp", "", time()-60, "/", $cfg["domain"]);
print "1";
$sql->query("UPDATE users SET....");
header("LOCATION: ./".$input->get["c"]."/".$input->get["p"]."/");
}
else
{
setcookie("sp_gtp", $input->get["c"]."_".$input->get["ts"]."_".$input->get["p"], time()+(60*60*24*300), "/", $cfg["domain"]);
header("LOCATION: ./".$input->get["c"]."/".$input->get["p"]."/");
}
?>
Die MySQL-Klasse ist angehängt.
Kommentar