Vložte řetězec s jednoduchou uvozovkou ('
) nebo dvojité uvozovky ("
) v mysql
Stačí použít addslashes();
v Insertion a stripslashes();
pro načtení dat.
$str = "Hello Friend's.. Hows you all"s.";
// Outputs: Hello Friend\'s..Hows you all\"s.
echo addslashes($str);
stripslashes — Zrušte uvozování řetězce uvozovaného pomocí addslashes()
. Vrátí řetězec s odstraněnými zpětnými lomítky. (\'
se změní na '
a tak dále.) Dvojitá zpětná lomítka (\\
) jsou vytvořeny jako jediné zpětné lomítko (\
).
$str = "Hello Friend\'s.. Hows you all"s."; // Outputs: Hello Friend's.. Hows you all"s.
echo stripslashes($str);
Nyní se dostáváme k věci. Pokud vložíme řetězec do databáze s jednoduchou nebo dvojitou uvozovkou takto:
$str = “Hello Friend's.. Hows you all"s.”;
$query = “INSERT INTO tbl (description) VALUES (‘$str’)”;
K tomu dojde, ale pokud použijeme addslashes($str)
fungovat jako níže a poté vložit do databáze, nedojde k žádné chybě.
$str = “Hello Friend's.. Hows you all"s.”;
$desc_str = addslashes($str);
$query = “INSERT INTO tbl (description) VALUES (‘$desc_str’)”;
podobně můžeme použít stripslashes($str)
pro tisk této hodnoty pole tabulky takto:
echo stripslashes($str);