使用 PDO 时应该使用 addslashes 函数吗?

Should I use addslashes function when I using PDO?

听说PDO可以自动防御注入攻击。 所以,我可以在没有 ' 标记的情况下进行查询。

那么,我在使用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();
?>

不,您不必使用它。当您使用像 bindParam 这样的准备语句时,数据库引擎会自动为您完成。