Zum Inhalt springen

mehrere updates php/mysql


Empfohlene Beiträge

hi und hallo.

folgendes problem:

ich möchte mehrere UPDATES in php hintereinander ausführen.

hier mal pseudomässig der code:


for($i=1;$i<=7;$i++){

    query.= "UPDATE TABLE SET x = ".$i." WHERE id = ".$i.";";

}

mysql_query($query);

nun gut ich erhalte also 7 UPDATES mit ; getrennt.

wenn ich das in php, also auf meiner webseite ausführe wird immer nur EIN vorgang ausgeführt. die anderen sind der maschine egal.

wenn ich mir aber der query ausgeben lasse und ihn kopiere und im MySQL Control Center oder phpMyAdmin als sql-statement ausführe werden alle UPDATE vorgänge ausgeführt.

bin am verzweifeln.

ist das vielleicht ne einstellung am apache? oder mysql.ini file??? *zweifel*

Link zu diesem Kommentar
Auf anderen Seiten teilen

es geht jetzt. ich weiss aber nicht woran es lag. ich hab dann noch so oft geändert und gemacht und getan. zum schluss schon irgendwie in einem trance artigen zustand ;)

hauptsache es läuft. aber es geht nur wenn ich die abfragen nacheinander ausführe, also nicht mir einem langen query.

grüsse und dank

forTeesSake

Link zu diesem Kommentar
Auf anderen Seiten teilen

es geht jetzt. ich weiss aber nicht woran es lag. ich hab dann noch so oft geändert und gemacht und getan. zum schluss schon irgendwie in einem trance artigen zustand ;)

hauptsache es läuft. aber es geht nur wenn ich die abfragen nacheinander ausführe, also nicht mir einem langen query.

grüsse und dank

forTeesSake

Servus,

du musst dir ne eigenen funktion bauen wenn du semikolon getrennt mehrere SQLs absetzen willst.

einfach den SQL string am ";" auftrenen (explode) und dann jeden einzeln absetzen.

Du kannst ja die ganzen SQLs dann in eine Transaktion zusammen packen und falls einer auf einen Fehler läuft, per ROLLBACK alles wieder rückgängig machen

Gruß,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

@forTeesSake

Wenn ich das jetzt richtig verstanden habe, führt er das nur einmal aus. Das liegt vielleicht daran, dass du das mysql_query... hinter die Schleife gesetzt hast und nicht ind die Schleife. Denn nur ind der Schleife führt er das dann so oft aus, wir du es angegeben hast.

siehe mal hier:

for($i=1;$i<=7;$i++){

    query.= "UPDATE TABLE SET x = '$i' WHERE id = '$i'";

    mysql_query($query);

}

So ungefähr müsste das auch gehen. Aber vergiss nicht die Tabelle anzugeben. Kann sein, dass du das vergessen hast. ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...