Daten mit "'" werden nicht in Tabelle eingefügt
Stephan Fackler
- php
Hallo allerseits,
Ich habe ein Skript geschrieben, dass automatisch aus einer Seite bestimmte Informationen ausliest und sie in einer MySQL-Tabelle speichert.
Nun habe ich festgestellt, dass bei 500 Einträgen 4 fehlen. Diese werden jedoch per mysql_query auch ausgeführt, das ist sicher.
Nun habe ich den Grund festgestellt:
Alle Datensätze, die ich anlegen möchte und im Namensfeld das Zeichen ' enthalten, (z.B. Bronco's Bulls, Roberto D'Ambrosio) werden nicht angelegt.
Ich vermute, dass es daran liegt, dass MySQL damit selber die Datensätze abtrennt, was aber natürlich nicht zur Lösung des Problems beiträgt.
Wie kann man die Datensätze trotzdem speichern, auch wenn mit einem kleinen Kniff verbunden. Muss ich das Zeichen ändern, um den Datensatz zu speichern?
Es wäre nett, wenn mir jemand helfen könnte.
MfG,
Stephan Fackler
Halihallo Stephan
Alle Datensätze, die ich anlegen möchte und im Namensfeld das Zeichen ' enthalten, (z.B. Bronco's Bulls, Roberto D'Ambrosio) werden nicht angelegt.
Du solltest:
a) Fehlermeldungen ausgeben lassen (mysql_error)
b) Werte quoten lassen (eg. aus 'Bronco's' wird 'Bronco's'), denn:
wie du siehst führt ein Query alla INSERT INTO t (name) VALUES ('Bronco's')
zu einem Fehler (s. hierzu a - denn dann hättest du dies bemerkt).
Viele Grüsse
Philipp
Danke!
Jetzt scheint alles zu klappen. Ich wusste nicht, dass keine Fehlermeldung mehr ausgegeben wird, wenn der Fehler bei dem SQL-Befehl auftritt
Dankbare Grüße,
subclasser