Hallo!
Ich hab eine eigene MySQL-Klasse, in der ich diverse Funktionen habe.
Eine davon ist auch num_rows(), welche den PHP-Befehl mysql_num_rows ausführt.
Mein Problem ist nun, dass ich dem PHP-Befehl bekanntermaßen eine Resource-ID übergeben muss.
Dazu wird zuvor per $mysql->query() ein Query ausgeführt, welcher ja als Ergebnis eine Resource-ID enthält.
Nun ist es gewöhnlich so, dass ich
nutze.
Das funktioniert einwandfrei - bis zu dem Punkt, an dem ich eben diese Verschachtelung nicht nutze, sondern es einzeln erledige, z. B. so:
Und genau hier kommt es zum Fehler, denn num_rows() bekommt keine Resource-ID übergeben und meldet mir deshalb:
Nun hab ich versucht, dass Problem so zu umgehen:
Sofern beim Aufruf von num_rows nichts in Klammern übergeben wird, soll die Resource-ID des letzten Querys genutzt werden.
Die Variable $numrowsQuery ist direkt am Anfang der Klasse deklariert.
Im Prinzip funktioniert das auch, aber warum kriege ich dann trotzdem diese Warning-Meldung?!?
Bitte helft mir! - Danke schon mal im Voraus dafür!
MfG, Martin!
Ich hab eine eigene MySQL-Klasse, in der ich diverse Funktionen habe.
Eine davon ist auch num_rows(), welche den PHP-Befehl mysql_num_rows ausführt.
Mein Problem ist nun, dass ich dem PHP-Befehl bekanntermaßen eine Resource-ID übergeben muss.
Dazu wird zuvor per $mysql->query() ein Query ausgeführt, welcher ja als Ergebnis eine Resource-ID enthält.
Nun ist es gewöhnlich so, dass ich
PHP-Code:
$mysql->num_rows($mysql->query("SELECT irgendwas FROM irgendwo"));
Das funktioniert einwandfrei - bis zu dem Punkt, an dem ich eben diese Verschachtelung nicht nutze, sondern es einzeln erledige, z. B. so:
PHP-Code:
$mysql->query("SELECT irgendwas FROM irgendwo");
$mysql->num_rows();
Warning: Missing argument 1 for num_rows() in /home/www/web8/html/test.php on line 73
PHP-Code:
function num_rows($numrowsQuery)
{
$numrowsQuery == 0 ? $this->num_rows = mysql_num_rows($this->query) : $this->num_rows = $numrowsQuery;
return $this->num_rows;
}
Die Variable $numrowsQuery ist direkt am Anfang der Klasse deklariert.
Im Prinzip funktioniert das auch, aber warum kriege ich dann trotzdem diese Warning-Meldung?!?
Bitte helft mir! - Danke schon mal im Voraus dafür!
MfG, Martin!
Kommentar