Heim >Datenbank >MySQL-Tutorial >Wie überwindet man MySQL-Fehler beim Umgang mit Apostrophen beim Einfügen von Daten?

Wie überwindet man MySQL-Fehler beim Umgang mit Apostrophen beim Einfügen von Daten?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-23 23:01:30790Durchsuche

How to Overcome MySQL Error When Dealing with Apostrophes in Data Insertion?

MySQL-Fehler mit Apostrophen beim Einfügen von Daten beheben

Beim Versuch, Daten mit einfachen Anführungszeichen in eine MySQL-Datenbank einzufügen, kann ein Fehler auftreten. Die Fehlermeldung weist normalerweise auf ein Syntaxproblem in der Nähe des Anführungszeichens hin.

Um dieses Problem zu beheben, maskieren Sie die Anführungszeichen in den Daten mit einem Backslash (). Beispielsweise sollte „Kellogg's“ als „Kellogg's“ geschrieben werden.

Zusätzlich wird zur Erhöhung der Sicherheit empfohlen, die Funktion mysql_real_escape_string zu verwenden, um alle vom Benutzer bereitgestellten Eingaben zu maskieren und so vor SQL-Injections zu schützen.

Betrachten Sie die folgende Version der Einfügefunktion, die beide Techniken beinhaltet:

<code class="php">function insert($database, $table, $data_array) {
    // Establish MySQL connection and select database
    $mysql_connect = connect_to_database();
    mysql_select_db($database, $mysql_connect);

    // Prepare column and data values for SQL command
    foreach ($data_array as $key => $value) {
        $tmp_col[] = $key;
        $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; // Escape against SQL injections
    }
    $columns = join(',', $tmp_col);
    $data = join(',', $tmp_dat);

    // Construct and execute SQL command
    $sql = 'INSERT INTO ' . $table . '(' . $columns . ')VALUES(' . $data . ')';
    $result = mysql_query($sql, $mysql_connect);

    // Handle SQL errors or return result
    if (!$result) {
        echo 'MySQL Update Error: ' . mysql_error($mysql_connect);
        $result = '';
    } else {
        return $result;
    }
}</code>

Das obige ist der detaillierte Inhalt vonWie überwindet man MySQL-Fehler beim Umgang mit Apostrophen beim Einfügen von Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn