Insert / Update
Herbert
- php
Hallo, ich bitte um Hilfe
Ich habe Probleme bei Update in Datenbank.
Gibt es eine Aufstellung welche Begrenzer möglich sind ?
Mein Problem:
Ich habe einen bestehenden MySql-Datensatz.
Dieser Datensatz soll dupliziert werden.
Klappt wunderbar.
Aber !!!
Wenn z.B. im Org-Datensatz in 1. Feld ein ' ( Hochkomma )
steht, wird der Befehl nicht korrekt ausgeführt
$nb_fuellen = "UPDATE l_buch SET
b_eingang = '$_POST[xn_eingang]',
b_kursort = '$nschule_zeile[s_schule]'
where b_buchnr = $neuebuchung ";
Nun bin ich auf die Idee gekommen, dass ich als Begrenzer " ( Anführungzeichen ) verwende; aber die könnten im Feld ja auch vorkommen.
Bin ich vom ganzen Ansatz schon irgendwie verkehrt ?
( wenn ich manuell z.B. über PHPMyadmin die Daten ändere kommen alle Sonderzeichen richtig an )
Ich bin um jeden Tip dankbar
Vielen Dank
Herbert
Hi Herbert,
Gibt es eine Aufstellung welche Begrenzer möglich sind ?
Begrenzer wofür? Strings?
Aber !!!
Wenn z.B. im Org-Datensatz in 1. Feld ein ' ( Hochkomma )
steht, wird der Befehl nicht korrekt ausgeführt
Was heißt nicht korrekt ausgeführt? Was soll drin stehen? Was steht dann fälschlicherweise drin? Kommt eine Fehlermeldung, wenn ja, welche?
$nb_fuellen = "UPDATE l_buch SET
b_eingang = '$_POST[xn_eingang]',
b_kursort = '$nschule_zeile[s_schule]'
where b_buchnr = $neuebuchung ";
Es wäre sinnvoller (ob auch notwendig weiß ich nicht) Variablen im String als solche zu kennzeichnen oder mit dem restlichen String zu Verknüpfen.
z.B.
$nb_fuellen = "UPDATE l_buch SET b_eingang = '".$_POST[xn_eingang]."', b_kursort = '".$nschule_zeile[s_schule]'."
where b_buchnr = ".$neuebuchung;
Nun bin ich auf die Idee gekommen, dass ich als Begrenzer " ( Anführungzeichen ) verwende; aber die könnten im Feld ja auch vorkommen.
Das verstehe ich nicht so ganz, was meinst du damit?
ciao
romy
hi,
Wenn z.B. im Org-Datensatz in 1. Feld ein ' ( Hochkomma )
steht, wird der Befehl nicht korrekt ausgeführt
Du hast ihn dir zur Kontrolle ausgeben lassen, und dir ist was aufgefallen?
Nun bin ich auf die Idee gekommen, dass ich als Begrenzer " ( Anführungzeichen ) verwende; aber die könnten im Feld ja auch vorkommen.
Bin ich vom ganzen Ansatz schon irgendwie verkehrt ?
Ja.
Wann immer du Daten in einen bestimmten Kontext bringst, musst du sie entsprechend behandeln.
In diesem Fall heisst der Kontext MySQL, und die Behandlung übernimmt mysql_real_escape_string().
gruß,
wahsaga