在数据库错误中插入论坛的长文本,错误为:“&'

时间:2019-06-15 11:36:47

标签: php sql

我实际上是从头开始创建一个论坛。要在我的数据库中插入消息,请使用以下代码:

'INSERT INTO forum_sujets VALUES("", "'.$steamprofile['personaname'].'",  "'.$steamprofile['steamid'].'", "'.$_POST['titre'].'", "'.$_POST['message'].'", "'.$date.'", "'.$date.'", "'.$_GET['id'].'", "0" , "0", "0")';

但是,如果我插入带有“或'的文本,则会产生错误。我该如何解决?

1 个答案:

答案 0 :(得分:1)

您绝对应该避免直接在SQL语句中使用原始输入,因为这对于您的应用程序来说是严重的安全风险。请改用准备好的语句。请参见How to change from mysql to pdo using prepared statements in PHP?,但您也可以使用google,在线上有很多示例。

作为奖励,这应该解决您在空格和特殊字符方面遇到的所有问题。

我知道这似乎很烦人,但这是经典且非常真实的安全风险,请移至准备好的声明。