sql >> Database >  >> RDS >> Mysql

Enkele aanhalingstekens ontsnappen in PHP/MySQL invoegen werkt niet

Tekenreeks invoegen met enkel aanhalingsteken(' ) of dubbele aanhalingstekens(" ) in mysql

Gebruik gewoon addslashes(); in Insertion en stripslashes(); om gegevens op te halen.

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

stripslashes — Verwijder aanhalingstekens tussen aanhalingstekens addslashes() . Retourneert een tekenreeks waarvan de backslashes zijn verwijderd. (\' wordt ' enzovoort.) Dubbele backslashes (\\ ) worden omgezet in een enkele backslash (\ ).

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

Nu komen we ter zake. Als we een string in de database invoegen met enkele of dubbele aanhalingstekens als volgt:

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

Dit zal fout optreden, maar als we addslashes($str) . gebruiken functioneren zoals hieronder en vervolgens in de database invoegen, dan zal er geen fout optreden.

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

op dezelfde manier kunnen we stripslashes($str) . gebruiken om die tabelveldwaarde als volgt af te drukken:

echo stripslashes($str);


  1. Hoe current_date werkt in PostgreSQL

  2. SQL Server:alle localdb-instantienamen vinden

  3. inconsistente datatypes:bij het retourneren van tabel van cursor in een pakketfunctie - ORACLE

  4. Selecteer alleen unieke waarden uit een kolom in codeigniter