Mit der DB arbeiten

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
andybabe
Mitglied
Beiträge: 65
Registriert: 16.05.2009 11:35

Mit der DB arbeiten

Beitrag von andybabe »

Ich bin dabei, mir meine eigene Galerie, Freundschaftssystem etc. zu bauen. Allerdings gibt es kleinere Probleme beim Arbeiten mit der DB. Daten abfragen und Daten in die DB schreiben sind überhaupt kein Problem. Probleme habe ich irgendwie mit dem Update. Das funktioniert nicht so, wie es soll. Ich habe mich durch viele Tutorials im englischen Wiki gelesen und ausprobiert, aber irgendwie verweigert phpBB den Eintrag dann. Nachdem ich viel gelesen habe, bin ich auf so ein Ergebnis gekommen:

Code: Alles auswählen

$sql = 'UPDATE friends SET confirmed=1 AND since='.$since.' WHERE friend2=1 AND friend1=3;
$db->sql_query($sql);
Fehlt da irgendwie etwas oder ist das falsch? Wie arbeitet phpbb denn mit Update? Als ich das phpBB Script etwas durchsucht habe, bin ich auch nur auf so eine Methode gestoßen:

Code: Alles auswählen

$sql = 'UPDATE ' . USERS_TABLE . '
	SET user_emailtime = ' . time() . '
	WHERE user_id = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
Mit

Code: Alles auswählen

$result = $db->sql_query($sql);


habe ich es auch schon versucht. Keine Chance. Die Daten werden nicht übertragen und die Tabelle wird nicht aktualisiert. Wenn ich aber den Befehl ausgeben lasse und die Daten dann manuell eintrage, funktioniert es.
Ich bin kein Profi, aber ich helfe, wo ich kann, aber lasse mich auch gerne des Besseren belehren und ich versuche durch mitreden zu lernen.

Plauder Community --> http://gmmts.de (Games, Movies, Music, Technic, Software)
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Mit der DB arbeiten

Beitrag von Pyramide »

Wird denn eine Fehlermeldung ausgegeben? Wenn nicht, ist vermutlich einfach nur die WHERE-Bedingung falsch.
KB:knigge
Benutzeravatar
Dufftown
Mitglied
Beiträge: 696
Registriert: 08.12.2008 14:22
Wohnort: Barsinghausen

Re: Mit der DB arbeiten

Beitrag von Dufftown »

Moin,


ne Fehlermeldung die dann kommt wäre natürlich noch interessant gewesen.

Aber so beim ersten drüberschauen, stimmt denn die Zeile so genau wie Du sie hier geschrieben hast?
andybabe hat geschrieben:

Code: Alles auswählen

$sql = 'UPDATE friends SET confirmed=1 AND since='.$since.' WHERE friend2=1 AND friend1=3;
Da stimmt nämlich was mit den ' nicht. Einmal zu Anfang, zwei in der Mitte und das war's.
Ausserdem müsste man mehrere SETs durch Komma trennen.

Vielleicht eher so?

Code: Alles auswählen

$sql = 'UPDATE friends SET confirmed=1, since='.$since.' WHERE friend2=1 AND friend1=3';
Meine SQL-Statements sind immer ohne Tabellen-Prefix. Also ggf. "phpbb_" oder Euer Prefix einfügen.
KEIN Support auf unaufgeforderte PN
andybabe
Mitglied
Beiträge: 65
Registriert: 16.05.2009 11:35

Re: Mit der DB arbeiten

Beitrag von andybabe »

Das mit den ' ist ein Fehler von mir. Hatte da beim Posten etwas entfernt und das wohl mit.

@pyramide: Wie soll die WHERE Bedingung falsch sein, wenn ich folgendes geschrieben habe?
Wenn ich aber den Befehl ausgeben lasse und die Daten dann manuell eintrage, funktioniert es.
Fehlermeldung wird auch keine Ausgegeben.

@Dufftown: Muss man mehrere SETs wirklich mit einem Komma trennen? Klappt jedenfalls auch ohne ^^

Ah, jetzt als ich es nebenbei getestet habe, ging das mit dem Komma. Nur komisch, dass es in der DB auch mit AND funktioniert hat. Gut zu wissen, danke.
Ich bin kein Profi, aber ich helfe, wo ich kann, aber lasse mich auch gerne des Besseren belehren und ich versuche durch mitreden zu lernen.

Plauder Community --> http://gmmts.de (Games, Movies, Music, Technic, Software)
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“