Jak przekazywać apostrofy z obszarów tekstowych do MySQL przy użyciu PHP
Mam obszar tekstowy, który użytkownicy dodają również notatki. Na następnej stronie używam$_POST[Comments]
aby pokazać, co zostało wpisane. Mam przycisk edycji, aby wrócić i zobaczyć, co zostało wpisane i edytować notatki, ale kiedy pokazuję$_POST[Comments]
pokazuje wszystko do apostrofu.
Przykład:
Oryginalnie wpisane:Let's try this.
Podczas edycji:Let
Teraz, gdy przekazuję go do serwera w celu dodania SQL, używam następującej funkcji do ochrony przed wstrzykiwaniem SQL
function keepSafe($value) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if (!is_numeric($value)) {
$value = "'" . mysqli_real_escape_string($value) . "'";
}
return $value;
}
Poniżej przedstawiam to, czego używam do formatowania wejścia dla wstawiania SQL.
$Comments = str_replace("\n","<br />",$_POST['CustComments']);
$Comments = keepSafe($_POST['Comments']);
Muszę być w stanie zobaczyć wszystkie apostrofy w sekcji notatek podczas edycji przed przesłaniem. I chcę się upewnić, że kiedy to zrobię, jest to wstrzyknięcie SQL uniemożliwiające bezpieczny kod.