This question already has answers here:
How can I prevent SQL injection in PHP?
(28个答案)
3个月前关闭。
我目前正在测试一个html表单,该表单通过php将数据发送到sql数据库。我面临的问题是特殊字符会破坏表格并且不更新数据库。我尚未测试所有特殊字符,但主要是
提前致谢!
编辑:对不起,引号反转了
(28个答案)
3个月前关闭。
我目前正在测试一个html表单,该表单通过php将数据发送到sql数据库。我面临的问题是特殊字符会破坏表格并且不更新数据库。我尚未测试所有特殊字符,但主要是
`
和'
是罪魁祸首。我试过mysql_escape_string,preg_replace和add_slashes没有成功。我想念什么?$description = preg_replace('/[^A-Za-z0-9\ %&$=+*?()!.-]/', ' ', $_POST['description']);
$description = preg_replace("/[\n\r]/"," ",$description);
// Items Insert
foreach ($item as $index=>$value) {
$sqlItems .= "
INSERT INTO quote_items (quote_id, item, description, amount, gst)
VALUES ('$last_id', '$item[$index]', '$description[$index]', '$amount[$index]', '$gst[$index]');
";
}
提前致谢!
最佳答案
您可以尝试一下(有点脏),但是应该允许保存这2个字符
$sqlItems .= '
INSERT INTO `quote_items` (quote_id, item, description, amount, gst)
VALUES ("'.$last_id.'", "'.$item[$index].'", "'.$description[$index].'", "'.$amount[$index].'", "'.$gst[$index].'");
';
编辑:对不起,引号反转了
关于php - 使用PHP为SQL数据库准备HTML表单输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40118678/
10-17 01:30