Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Einfache Anführungszeichen mit Escapezeichen in PHP/MySQL einfügen funktioniert nicht

Zeichenfolge mit einfachen Anführungszeichen einfügen (' ) oder doppelte Anführungszeichen (" ) in mysql

Verwenden Sie einfach addslashes(); in Insertion und stripslashes(); zum Abrufen von Daten.

$str = "Hello Friend's.. Hows you all"s.";
// Outputs: Hello Friend\'s..Hows you all\"s.
echo addslashes($str);

Stripslashes — Zeichenfolge mit addslashes() in Anführungszeichen setzen . Gibt eine Zeichenfolge mit entfernten Backslashes zurück. (\' wird zu ' usw.) Doppelte Backslashes (\\ ) werden zu einem einzelnen umgekehrten Schrägstrich (\ ).

$str = "Hello Friend\'s.. Hows you all"s."; // Outputs: Hello Friend's.. Hows you all"s.
echo stripslashes($str);

Jetzt kommen wir zum Punkt. Wenn wir eine Zeichenfolge mit einfachen oder doppelten Anführungszeichen wie folgt in die Datenbank einfügen:

$str = “Hello Friend's.. Hows you all"s.”;
$query = “INSERT INTO tbl (description) VALUES (‘$str’)”;

Dieser Fehler tritt auf, aber wenn wir addslashes($str) verwenden Funktion wie unten und dann in die Datenbank einfügen, dann wird kein Fehler auftreten.

$str = “Hello Friend's.. Hows you all"s.”;
$desc_str = addslashes($str);
$query = “INSERT INTO tbl (description) VALUES (‘$desc_str’)”;

ebenso können wir stripslashes($str) verwenden um diesen Tabellenfeldwert wie folgt zu drucken:

echo stripslashes($str);