请原谅我的无知,我已经写了超过12年的C#并且我对.NET框架和OO编程很满意,而且我在企业应用程序方面有很好的背景,但这是我的第一回合用PHP。
好吧,所以我想弄清楚如何使用prepare
函数发出mysql_query
,我无法将两个和两个放在一起。现在我这样连接:
mysql_connect('xxx.x.x.x:xxxx', 'x', 'x');
mysql_select_db('x');
这是成功的。
现在,我想插入一些数据,因此我正在查看mysql_query
函数,而无法弄清楚如何发送参数化查询以防止SQL注入。我的代码目前看起来像这样:
mysql_query("INSERT INTO users (email, password, ...)
VALUES (:email, :password, :...)
但是如何将值数组传递给它?
如果我在通过用户输入收到的每个值上使用mysql_real_escape_string
,我是否需要担心发出参数化查询?
答案 0 :(得分:3)
最好使用PDO(或mysqli)来执行此操作。但是,您可以在bobby-tables website上找到使用PDO,mysqli,adodb等的示例。我建议您阅读bindValue()的PDO doco,它可以满足您的需求。
答案 1 :(得分:2)
正如我的评论所述,mysql_函数已被弃用。您应该使用mysqli_或PDO,它允许参数绑定以防止SQL注入。