PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : aus PHP in MySQL-DB eintragen


Boonekamp
28.08.2003, 15:55:26
Nachdem ich alle ; und { ..} geprüfft habe bleibt die Frage offen: die Datenbank ist im Zugriff und neue Datensätze werden eingefügt nur das mysql_query mit Update will mich nicht eintragen lassen...

meine Zeile lautet:

$i = $datensatz;
if ($datensatz != '9999'):

$sql = "UPDATE `basisdaten` SET (`land` = '$ein[5]',
`TT` = '$ein[6]', `MM` = '$ein[7]', `JJJJ` = '$ein[8]', `web` = '$ein[9]', `werein` = '$ein[12]', `memo` = '$ein[13]') WHERE `indexnummer` = '$i'";
echo eingetragen auf Datensatz $datensatz ($i) (updated";
else:
$sql = "INSERT INTO `basisdaten` VALUES ('$ein[0]', '$ein[1]', '$ein[2]', '$ein[3]', '$ein[4]', '$ein[5]', '$ein[6]', '$ein[7]', '$ein[8]', '$ein[9]', '$ein[10]', NOW(), '$ein[12]', '$ein[13]', '$ein[14]')";
echo "<h2>es wurde eingetragen auf Datensatz $datensatz ($i) (insert)</h2>";
endif;

crusader
14.09.2003, 18:22:39
Also, wenn das dein echter Code ist, kann das nicht funktionieren.

Die if-Verzweigung musst du mit {Code} aufbauen. Genau das gleiche machst du mit dem else-Zweig.
Und die : müssen weg, so schreibst du den Code nur bei switch case.

Grüße Crusader

Lemming
14.09.2003, 18:48:35
Laut Selfphp geht
if(...):
...
endif;
( http://www.selfphp.info/funktionsreferenz/kontroll_mechanismen/if.php )
Wär denkbar dass das auch mit if-else-endif geht.
Ich kannte das bisher net und guter Stil is das auch net aber es kann sein dass PHP das frisst.

Zum Problem :
Ich weiß nicht wie der echte Code aussieht und auch nicht wie die Tabelle aussieht.
Daher kann ich nichts sagen.
Eine Fehlermeldung wäre auch ganz hilfreich.

Du könntest aber anstelle von INSERT INTO, REPLACE INTO benutzen was automatisch den alten Datensatz falls vorhanden überschreibt und ansonsten einen neuen einfügt.
Dadurch kannst du dir das ganze sparen.