Beim Ausführen von INSERT-Abfragen, die Apostrophe (einfache Anführungszeichen) enthalten, wie z. B. Firmennamen wie „Kellogg's“, können Benutzer auf Syntax stoßen Fehler. Dieses Problem entsteht aufgrund der besonderen Interpretation von Apostrophen in SQL.
Um dieses Problem zu lösen, muss das Apostroph in den Daten mit einem Backslash () maskiert werden. Durch das Escapezeichen des Apostrophs behandelt der SQL-Interpreter es als Zeichen innerhalb der Zeichenfolge und nicht als Syntaxtrennzeichen.
Beispiel:
Kellogg's will become Kellogg\'s
Eine weitere effektive Lösung besteht darin, die Funktion mysql_real_escape_string() zu verwenden, die sich automatisch um das Escapen von Sonderzeichen, einschließlich Apostrophen, kümmert. Hier ist eine Beispielfunktion, die diese Technik verwendet:
function insert($database, $table, $data_array) { foreach ($data_array as $key => $value) { $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; } $data = join(',', $tmp_dat); $sql = 'INSERT INTO ' . $table . ' VALUES('. $data.')'; $result = mysql_query($sql); }
Durch die Integration dieser Methoden können Daten, die Apostrophe enthalten, erfolgreich in MySQL-Datenbanken eingefügt werden, wodurch die beim Einfügen auftretenden Syntaxfehler behoben werden.
Das obige ist der detaillierte Inhalt vonWie füge ich Daten mit Apostrophen ohne Syntaxfehler in MySQL ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!