Wstaw ciąg z pojedynczym cudzysłowem (' ) lub cudzysłów (" ) w mysql
Po prostu użyj addslashes(); we wstawianiu i stripslashes(); do pobierania danych.
$str = "Hello Friend's.. Hows you all"s.";
// Outputs: Hello Friend\'s..Hows you all\"s.
echo addslashes($str);
stripslashes — Nie cytuj w cudzysłowie ciąg za pomocą addslashes() . Zwraca łańcuch z usuniętymi odwrotnymi ukośnikami. (\' staje się ' i tak dalej.) Podwójne odwrotne ukośniki (\\ ) są przekształcane w pojedynczy ukośnik odwrotny (\ ).
$str = "Hello Friend\'s.. Hows you all"s."; // Outputs: Hello Friend's.. Hows you all"s.
echo stripslashes($str);
Teraz dochodzimy do sedna. Jeśli wstawimy ciąg do bazy danych z pojedynczym lub podwójnym cudzysłowem w następujący sposób:
$str = “Hello Friend's.. Hows you all"s.”;
$query = “INSERT INTO tbl (description) VALUES (‘$str’)”;
Wystąpi błąd, ale jeśli użyjemy addslashes($str) funkcjonować jak poniżej, a następnie wstawić do bazy danych, wtedy nie wystąpi żaden błąd.
$str = “Hello Friend's.. Hows you all"s.”;
$desc_str = addslashes($str);
$query = “INSERT INTO tbl (description) VALUES (‘$desc_str’)”;
podobnie możemy użyć stripslashes($str) aby wydrukować tę wartość pola tabeli w następujący sposób:
echo stripslashes($str);