In MySQL können bei Einfügeabfragen, die Apostrophe (einfache Anführungszeichen) enthalten, Syntaxfehler auftreten. Wenn der Fehler „Sie haben einen Fehler in Ihrer SQL-Syntax …“ auftritt, insbesondere in Bezug auf Apostrophe, gibt es Lösungen, um eine erfolgreiche Dateneinfügung sicherzustellen.
Die wichtigste Lösung besteht darin, die Apostrophe mit einem Backslash () zu maskieren. Charakter. Beispielsweise müsste die Zeichenfolge „Kellog's“ als „Kellogg's“ geschrieben werden. Indem MySQL den Apostroph mit einem Backslash maskiert, interpretiert es das folgende Zeichen als Literal und nicht als Syntaxindikator.
Darüber hinaus ist es ratsam, die Funktion mysql_real_escape_string() von MySQL zu verwenden, wenn Daten für das Einfügen vorbereitet werden. Diese Funktion maskiert Sonderzeichen, einschließlich Apostrophe, automatisch und bietet so einen umfassenden Schutz vor potenziellen SQL-Injections. Betrachten Sie das folgende Beispiel:
<code class="php">function insert($database, $table, $data_array) { $mysql_connect = connect_to_database(); mysql_select_db($database, $mysql_connect); foreach ($data_array as $key => $value) { $tmp_col[] = $key; $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; // Escaping } $columns = join(',', $tmp_col); $data = join(',', $tmp_dat); $sql = 'INSERT INTO ' . $table . '(' . $columns . ')VALUES(' . $data . ')'; $result = mysql_query($sql, $mysql_connect); if (!$result) { echo 'MySQL Update Error: ' . mysql_error($mysql_connect); $result = ''; } else { return $result; } }</code>
Mit dieser Methode können Sie Daten, die Apostrophe enthalten, ohne Syntaxfehler oder Sicherheitslücken in MySQL-Tabellen einfügen.
Das obige ist der detaillierte Inhalt vonWie behandelt man Apostrophe in MySQL-Einfügeabfragen richtig, um Syntaxfehler zu verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!