【发布时间】:2018-03-23 01:46:57
【问题描述】:
我正在尝试使用带有 PDO 的 PHP 来防止 SQL 注入。我用这个作为参考。 http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers 。我的代码没有给我任何错误,但是输入的值都是空的。
我试图插入的值是 not null。我知道这一点,因为我已经将它们呼应出来:
echo "\nDate: ".$date." Name: ".$name." mail: ".$mail."Comment: ".$comment." website: ".$website;
$sql = "INSERT post SET timeDate = :timeDate and name = :name and mail = :mail and comment = :comment and website = :website";
$stmt = $db->prepare($sql);
$stmt->bindParam(":timeDate", $date);
$stmt->bindParam(":name", $name);
$stmt->bindParam(":mail", $mail);
$stmt->bindParam(":comment", $comment);
$stmt->bindParam(":website", $website);
$stmt->execute();
【问题讨论】:
-
顺便说一句,您实际上并不需要如此长而曲折的代码,实际上两行就足够了:PDO Examples: UPDATE query using PDO
-
$sql = "INSERT post SET name=?, mail=?";$db->prepare($sql)->execute([$name, $mail]);但是这种注射安全吗? -
是的,但您还需要添加其他字段
-
其他字段如?
-
在您的查询中
标签: php mysql pdo sql-injection