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);