ich habe hier ein bescheuertes problem.
ich arbeite mit einer eigenen db-klasse. bislang reibungslos. fehler wurden in ein array weggeschrieben und gut ist. so nun passiert folgendes:
schlägt auf die seite durch.
aufgrund der komplexen struktur, ist es nicht ganz einfach, den verursacher auszumachen. vor allem, weil der fehler nicht einfach zu reproduzieren ist. wenn ich länger auf der site untätig war, knallt es, bei einem reload nach dem warning bleibt die meldung aus.
in der klasse habe ich dann die fetch-methode etwas aufgebohrt:
trotzdem selber effekt. die warning knallt auf die seite.
bevor die seite ausgegeben wird hab ich dann mal das fehler-array abgefragt, wenn was drin steht, wird es ausgegeben. nur steht nix drin. ich bin etwas ratlos.
wie finde ich jetzt möglichst elegant raus, welche query/abfrage den fehler auslöst?
ich arbeite mit einer eigenen db-klasse. bislang reibungslos. fehler wurden in ein array weggeschrieben und gut ist. so nun passiert folgendes:
<b>Warning</b>: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>/home/www/***/html/inc/***class.database.php</b> on line <b>146</b><br />
aufgrund der komplexen struktur, ist es nicht ganz einfach, den verursacher auszumachen. vor allem, weil der fehler nicht einfach zu reproduzieren ist. wenn ich länger auf der site untätig war, knallt es, bei einem reload nach dem warning bleibt die meldung aus.
in der klasse habe ich dann die fetch-methode etwas aufgebohrt:
PHP-Code:
function db_fetch($assoc=TRUE)
{
// keine datenbankverbindung
// $this->sql ist die letzte sql-anweisung
if($this->dbstatus == false)
die('s ::: '.$this->sql); //return false;
// keine resource-id
if(!$this->queryres)
die('q ::: '.$this->sql);
// anzahl datensätze ist NULL, FALSE, 0 oder wieder erwarten ein string
if(is_null($this->querynum) || !$this->querynum || !is_numeric($this->querynum))
die('n ::: '.$this->sql);
if($assoc)
$this->queryrecord = mysql_fetch_array($this->queryres,MYSQL_ASSOC);
else
$this->queryrecord = mysql_fetch_array($this->queryres,MYSQL_NUM);
return $this->queryrecord;
}
bevor die seite ausgegeben wird hab ich dann mal das fehler-array abgefragt, wenn was drin steht, wird es ausgegeben. nur steht nix drin. ich bin etwas ratlos.
wie finde ich jetzt möglichst elegant raus, welche query/abfrage den fehler auslöst?
Kommentar