MYSQL: UPDATE-befehl klappt nicht
jan
- php
hallo,
kann mir jemand sagen, was an der unten stehenden syntax falsch ist?
ich will, dass bestimmte felder aktualisert werden-also alte werte durch neue ersetzt werden.
könnte es sein, dass das mysql_query hier nicht hingehört?
wenn nicht, durch was müsste es sonst ersetzt werden?
<?php
$update = "UPDATE haupt (SET B1_CODE = '$neu' WHERE B1_CODE = '$alt') WHERE (A1_ALL LIKE '$gemeinde_nr%')";
$geaendert = mysql_query($update);
?>
danke für jeden tipp!
jan
$update = "UPDATE haupt (SET B1_CODE = '$neu' WHERE B1_CODE = '$alt') WHERE (A1_ALL LIKE '$gemeinde_nr%')";
Jo hast Du Dir mal die Querry angeguckt?
die ist falsch...
Ich weiss nun leider nicht was Du erreichen wolltest, weil Deine bezeichnungen auch sehr eindeutig gewählt wurden.
Lasse Dir die Fehler ausgeben, das erleichtert die Arbeit ungemein:
echo mysql_errno() . ": " . mysql_error(). "\n";
TomIRL
die ist falsch...
aber was ist denn an der abfrage falsch?
es wird ja keine fehlermeldung gebracht!
die daten werden einfach in der tabelle nicht erneuert :-(
ziel ist: in einer tabelle sollen einzelne alte feldinhalte aktualisiert werden durch neue inhalt und das aber nur unter bestimmten bedingungen (deswegen noch am ende die WHERE-klausel).
jan
die ist falsch...
aber was ist denn an der abfrage falsch?
es wird ja keine fehlermeldung gebracht!
Hast Du mal das nach dem Absetzen der Querry angefügt?
echo mysql_errno() . ": " . mysql_error(). "\n";
die daten werden einfach in der tabelle nicht erneuert :-(
Ja wie auch die Querry ist falsch..
ziel ist: in einer tabelle sollen einzelne alte feldinhalte aktualisiert werden durch neue inhalt und das aber nur unter bestimmten bedingungen (deswegen noch am ende die WHERE-klausel).
Ja genau schaue Dir mal an wie man WHERE Klauseln miteinander verknüpft.
http://www.mysql.de/doc/de/Functions.html
TomIRL
Huhu jan
kann mir jemand sagen, was an der unten stehenden syntax falsch ist?
Z.B. die doppelte/ ungültige WHERE-Bedingung
$update = "UPDATE haupt (SET B1_CODE = '$neu' WHERE B1_CODE = '$alt') WHERE (A1_ALL LIKE '$gemeinde_nr%')";
Du meinst vermutlich eher folgendes
$update = <<< EOT
UPDATE
haupt
SET
B1_CODE = '$neu'
WHERE
B1_CODE = '$alt'
AND
A1_ALL LIKE '$gemeinde_nr%'
EOT;
Viele Grüße
lulu