PDO准备好的声明有多安全?

我想知道PDO准备语句是否可以帮助我从SQL注入中解脱出来?

例如:$ DBH = new PDO(“mysql:host = $ host; dbname = $ dbname”,$ user,$ pass);

我想要插入的数据

$ data = array('name'=> $ userInput_1,'addr'=> $ userInput_2,'city'=> $ userinput_3);

例如$ userInput_2是SLQ INJECTION。

(“name,:addr,:city)”); $ STH = $ DBH - >

在这种情况下执行后会发生什么?

$ STH->执行($数据);

谢谢!


所有的输入将被正确地转义和引用。 所以使用PDO准备/执行应该防止SQL注入。

从PHP手册:

对于将使用不同参数值多次发布的语句,调用PDO :: prepare()和PDOStatement :: execute()可以通过允许驱动程序协商查询计划的客户端和/或服务器端缓存来优化应用程序的性能,元信息, 并且通过不需要手动引用参数来帮助防止SQL注入攻击。

链接地址: http://www.djcxy.com/p/93791.html

上一篇: How safe are PDO prepared statement?

下一篇: in system is protected against sql injection