Update & Join

nordi

Erfahrenes Mitglied
Hallo, ich habe zwei Datenbanken (t_spieler & t_spieler_mannschaften) die gleichzeitig über ein Formular aktualisiert werden sollen. Aber ich bekomm das nicht auf die Reihe mit dem Join. Wo ist da der Fehler?

PHP:
$sql = "UPDATE t_spieler.vorname, t_spieler.nachname, t_spieler.gebdatum, t_spieler.id, t_spieler_mannschaften.pos, t_spieler_mannschaften.trikotno, t_spieler_mannschaften.mid FROM t_spieler join t_spieler_mannschaften SET t_spieler.vorname = '".$_POST['edit_vorname']."' WHERE t_spieler.id = t_spieler_mannschaften.sid and sid = ".$_POST["id"]."'";
 
item: Das sind nicht 2 Datenbanken, sondern 2 Tabellen
item: Schau mal in der SQL-Daku wie ein UPDATE überhaubt geht. Deine
SQL:
UPDATE [tabelle]
SET [feld] = [wert]
WHERE [feld] = [wert]
 
Zuletzt bearbeitet von einem Moderator:
Hi, danke schonmal für die Antworten. Ich hab jetzt folgendes:

PHP:
$sql = "UPDATE t_spieler JOIN t_spieler_mannschaften SET t_spieler.vorname = '".$_POST['edit_vorname']."', t_spieler.nachname = '".$_POST['edit_nachname']."', t_spieler.gebdatum = '".$_POST['edit_bday']."', t_spieler_mannschaften.pos = '".$_POST['edit_pos']."', t_spieler_mannschaften.trikotnr = '".$_POST['edit_trikotno']."', t_spieler.teams = '".$_POST['edit_teams']."',t_spieler.seit = '".$_POST['edit_seit']."' WHERE t_spieler.id = t_spieler_mannschaften.sid and sid = ".$_POST["id"]."'";

es kommt aber immer noch die folgende Fehlermeldung:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1
 
Da die diese Art von Fragen sehr oft kommt, habe ich mal ein Tutorial geschrieben wie man am besten auf Fehlersuche geht.
PHP MySQL Debug Queries
Geh es doch mal durch und falls du die Lösung nicht findest, poste mal das ausgegebe SQL-Statement ins Forum.

PS.: ich glaub nicht dass es geht, 2 Tabellen gleichzeitig anchzuführen. Habs selber noch nie probiert.
 
Hi,

Bei deiner Abfrage stimmt was mit den Hochkommas nicht. Ich denke dass in folgender Zeile der Fehler ist:
PHP:
"WHERE t_spieler.id = t_spieler_mannschaften.sid and sid = ".$_POST["id"]."'";

Sollte da nach dem "and sid =" nicht noch ein einfaches Hochkomma kommen?
Also:
PHP:
"WHERE t_spieler.id = t_spieler_mannschaften.sid and sid = '".$_POST["id"]."'";

Gruß
BK
 
danke! Das war der Fehler! Auch danke an yaslaw - konnte mit deinem Tutorial ein paar Fehler ausmerzen.
 
doch noch ne Frage. Kann man mit INSERT und DELETE auch zwei Tabellen gleichzeitig füllen bzw. löschen?
 
Zurück