Hola,
ich arbeite seit 1-2 Wochen an eigenen php Srcipte (für eigen gebrauch).
Ich benutze für die PHP Dateien folgende Vorlage:
http://www.phpbb.de/doku/kb/artikel.php ... gene+seite
Bis jetzt habe ich bei meinen Scripten die Verbindung zur Datenbank im Script aufbauen müssen und schleßen müssen usw...wie hier beschrieben:
http://php-einfach.de/einf_mysql.php
Nun habe ich mir mal angesehen, wir die Standart phpBB Dateien dies machen. Und ich habe dort weder noch ein Verbindungsaufbau, noch irgendwas anderes "nötiges" entdeckt. Sonder nur die Anweisung "$SQL =".
Selbst die while Schleife usw. sehe ich nicht.
Kann man im phpBB die SQL Anweisung einfach so beginnen?
Oder gibt es da noch was zu beachten?
Zudem noch was anderes, nämlich der Sicherheit. Gibt es irgendwo Infos/Beispiele o.ä. was sich mit Sicherheit in eigenen Scripten in phpBB beschäftigt?
Weder die Suche, noch Google konnten mir brauchbare informationen bzw. Antworten geben.
hasta luego,
Miguel
SQL in phpBB & Sicherheit
- Sanchez17
- Mitglied
- Beiträge: 913
- Registriert: 10.12.2005 22:21
- Wohnort: Moers / Sevilla
- Kontaktdaten:
SQL in phpBB & Sicherheit
Viva el betís, mi amor
Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé

Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé
Wo siehst du da kein while?
Du musst natürlich bedenken, dass phpBB den Aufbau der DB-Verbindung zentral über einen Include vornimmt und dann noch über eine DB-unabhängige Klassensammlung ($db->...) verfügt, über die die Datenbank-Befehle aufgerufen werden. Die normale PHP-Lehrbuch-Methode sieht da etwas anders aus.
Gruß, Philipp
Code: Alles auswählen
//
// Obtain list of moderators of each forum
// First users, then groups ... broken into two queries
//
$sql = "SELECT u.user_id, u.username
FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g, " . USERS_TABLE . " u
WHERE aa.forum_id = $forum_id
AND aa.auth_mod = " . TRUE . "
AND g.group_single_user = 1
AND ug.group_id = aa.group_id
AND g.group_id = aa.group_id
AND u.user_id = ug.user_id
GROUP BY u.user_id, u.username
ORDER BY u.user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query forum moderator information', '', __LINE__, __FILE__, $sql);
}
$moderators = array();
while( $row = $db->sql_fetchrow($result) )
{
$moderators[] = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['username'] . '</a>';
}
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
- Sanchez17
- Mitglied
- Beiträge: 913
- Registriert: 10.12.2005 22:21
- Wohnort: Moers / Sevilla
- Kontaktdaten:
Hi,
ah, jetzt sehe ich while
Die muss ich wohl übersehen haben...
Ich denke, ich habe nun verstanden, wie es läuft.
Werde dann später mal mein Glück versuchen, meine Scripte umzuschreiben.
Danke für die Info
hasta luego,
Miguel
ah, jetzt sehe ich while

Die muss ich wohl übersehen haben...
Ich denke, ich habe nun verstanden, wie es läuft.
Werde dann später mal mein Glück versuchen, meine Scripte umzuschreiben.
Danke für die Info

hasta luego,
Miguel
Viva el betís, mi amor
Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé

Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé
- Sanchez17
- Mitglied
- Beiträge: 913
- Registriert: 10.12.2005 22:21
- Wohnort: Moers / Sevilla
- Kontaktdaten:
Hola,
im moment klappt alles wunderbar, nach der änderung...nur an einer Stelle, meckert das Script, an dieser:
Dieser Code befindet sich in einer While Schleife, nach einer Abfrage.
Früher hat dies funktioniert, jetzt nach der änderung (also an der phpBB anpassung) bekomm ich eine Fehlermeldung.
Die erste Meldung war, dass "mysql_query" keine Funktion hatte, oder sowas ähnliches. Danach änderte ich "mysql_query" sowie "mysql_num_rows" in "sql_query" und "sql_num_rows"....
Doch die gleiche Meldung folgte...als ich es dann wieder auf "mysql" Umstellte, bekam ich eine andere Fehlermeldung:
Weiß jemand, was ich an dieser Abfrage ändern muss, damit es funktioniert?
Edit:
Ein Teil des Codes konnte ich erfolgreich umstellen...
Doch der Code nach der Variabeln $menge (siehe oben) will er nocch nicht annehmen...
Meldung:
im moment klappt alles wunderbar, nach der änderung...nur an einer Stelle, meckert das Script, an dieser:
Code: Alles auswählen
$db->sql_query("SELECT id FROM " . development . " WHERE section = '$section'");
$menge = mysql_num_rows($db);
Früher hat dies funktioniert, jetzt nach der änderung (also an der phpBB anpassung) bekomm ich eine Fehlermeldung.
Die erste Meldung war, dass "mysql_query" keine Funktion hatte, oder sowas ähnliches. Danach änderte ich "mysql_query" sowie "mysql_num_rows" in "sql_query" und "sql_num_rows"....
Doch die gleiche Meldung folgte...als ich es dann wieder auf "mysql" Umstellte, bekam ich eine andere Fehlermeldung:
Code: Alles auswählen
Fatal error: Maximum execution time of 60 seconds exceeded
Edit:
Ein Teil des Codes konnte ich erfolgreich umstellen...
Doch der Code nach der Variabeln $menge (siehe oben) will er nocch nicht annehmen...
Meldung:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
Viva el betís, mi amor
Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé

Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé
- S2B
- Ehemaliges Teammitglied
- Beiträge: 3258
- Registriert: 10.08.2004 22:48
- Wohnort: Aachen
- Kontaktdaten:
So muss es aussehen:
Zur Datenbank-Klasse vom phpBB: Welche Funktionen das Objekt $db unterstützt, kannst du in der db/xxx.php (z.B. mysql4.php) nachschauen. 
Code: Alles auswählen
$result = $db->sql_query("SELECT id FROM " . development . " WHERE section = '$section'");
$menge = $db->sql_numrows($result);

Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.