可能的重复:
PDO 准备好的语句有多安全
所以我正在研究 PDO 来替换我的 php.ini 中的所有 mysql 查询。我这样做的主要原因是为了安全和易于编码。不过,我只是想知道,就安全性而言。一旦我完成替换任何 mysql 查询调用以及我使用 PDO 从用户那里捕获的任何数据,我应该考虑在查询的准备和执行之间放置什么?或者那会照顾安全。我想我只是不明白 PDO 的安全性在哪里。这是我的一些代码示例,用于获取用户输入然后将其放入数据库中。这有什么问题吗?或者我可以做的改进?
<?php
session_start();
include("dbgear.php");
$var1 = $_POST['stuff1'];
$var2 = $_POST['stuff2'];
$var3 = $_POST['stuff3'];
$var4 = $_POST['stuff4'];
$var5 = $_SESSION['stuff5'];
$vardate = date("M d, Y h:i A");
$info = "INSERT INTO comments SET name=:user,class=:class,comment=:commentarea,date=:date,detector=:detector";
$send = $connect->prepare($info);
$send->execute(array(':user'=>$var1,':class'=>$var2,':commentarea'=>$var3,':date'=>$var4,':detector'=>$var5));
?>