Seite 1 von 1

mysql_num_rows in phpBB3?

Verfasst: 13.10.2007 21:28
von terminatorx120
Hi Leute,
ich mache gerade eine Modifikation für phpBB3 kompatibel, aber welche funktion kann ich benutzen wenn ich mysql_num_rows verhindern soll?

Und was für mysql_fetch_assoc?

Wenn ich es benutze kommt diese Fehlermeldung:
[phpBB Debug] PHP Notice: in file /XXXXX.php on line XX: mysql_num_rows(): supplied argument is not a valid MySQL result resource
Und dies bei allen mysql_num_rows und in phpBB 2.x hat es noch wunderbar funktioniert!

MfG,
TerminatorX120

Verfasst: 13.10.2007 21:50
von gn#36
Ich würde sagen dass vor allem die SQL Abfragen nicht mehr stimmen da sich die Datenbankstruktur geändert hat. Wenn diese Funktionen direkt im Code drin sind benutzt der Mod offenbar außerdem nicht den DBAL (DataBase-Abstraction Layer), was auch nicht unbedingt wünschenswert ist, du solltest alle Abfragen über den DBAL laufen lassen. Der bricht bei einem SQL Fehler automatisch das Skript ab und liefert im Debug Mode eine sehr übersichtliche und ausführliche Fehlermeldung, anhand deiner Fehlermeldung würde ich vermuten dass du da was findest, denn die PHP Funktionen sind ja auch bei phpbb3 vorhanden und sollten auch dort noch funktionieren wenn es die Queries tun, lediglich die Klassen & Funktionen drum herum sind anders.

Du kannst statt mysql_num_rows direkt nach dem Query $db->sql_affectedrows() verwenden. Für fetch_assoc gibt es $db->sql_fetchrow($result_id) oder falls du direkt alle in einem Array haben willst $db->sql_fetchrowset($result_id), außerdem gibt's nette arbeitserleichternde Funktionen die Insert-Statements aus Arrays zusammenbauen oder ähnliches (sql_build_array). Einfach mal in includes/db/dbal.php bzw. mysql.php schauen.

Verfasst: 14.10.2007 02:10
von terminatorx120
danke sehr