转义文本区域中的撇号和其他字符

Escaping apostrophies and other characters in text area

所以我发现这个表单我刚刚崩溃了,甚至在有人向这个文本区域输入撇号时直到第一个撇号才提交内容。我该如何转义内容以便它们进入我的 MySQL table?谢谢!

<form action=\"./functions/notes.php\" method='post'>
<input type='hidden' id='ID' name='ID' value='{$row['ID']}' />

<textarea placeholder=\"Add more notes here...\" name=\"notes\"></textarea><br />
<input type='submit' name='formNotes' id='formNotes' value='Add to Notes' />
</form>

然后在 notes.php 文件中

$notesID = $_POST['ID'];
$note = $_POST['notes'];
$date= date('Y-m-d');
$result = mysql_query("UPDATE Project_Submissions SET Notes=CONCAT(Notes,'<br />".$date." ".$note."') WHERE ID ='".$notesID."'");

撇号对 SQL 有特殊意义,因此要将它们放入数据中,它们需要 "escaped" PHP 对此有一个快速功能,它还可以进行一些安全检查帮助防止您的数据库被黑客入侵。

$note = mysql_real_escape_string($note);

DITTO 从 mysql 移到 mysqlI

和MySQLI,类似你只需要提供连接变量....

$note = mysqli_real_escape_string($link, $note);