我使用PDO时应该使用addslashes功能吗?

时间:2016-06-23 01:47:11

标签: php mysql pdo code-injection

我听说PDO会自动防御注入攻击。 所以,我可以在没有'mark。

的情况下进行查询

然后,当我使用PDO时,我应该使用addslashes函数吗?

我的意思是......

<?php
    $s = $d->prepare("SELECT * FROM `table` WHERE `no`=:n");
    $s->bindParam(":n", $data);
    $data = $_GET["param"];
    $s->execute();
?>

<?php
    $s = $d->prepare("SELECT * FROM `table` WHERE `no`=:n");
    $s->bindParam(":n", $data);
    $data = addslashes($_GET["param"]);
    $s->execute();
?>

1 个答案:

答案 0 :(得分:1)

不,你不必使用它。当您使用bindParam之类的预准备语句时,数据库引擎会自动为您执行此操作。