PDO - $ _POST数组

时间:2013-09-04 16:45:55

标签: php pdo http-post http-get

我想知道我是否需要在PDO中转义$ _POST和/或$ _GET数组? (OOP)

示例:

<?php $name = $_POST['name']; ?>

我应该怎么做才能防止“SQL注入”?感谢。

3 个答案:

答案 0 :(得分:1)

如果你使用pdo,你可以使用准备声明

这里有很好的例子:

http://php.net/manual/en/pdo.prepare.php

PDO将在查询之前为您提供值(使用prepare语句),因此您不必担心这一点。

答案 1 :(得分:1)

NO

双重否。

  • 你不应该逃避。
  • 你根本不应该特别注意$ _POST或$ _GET变量。
  

我该怎么做才能阻止“SQL注入”

  1. 您必须使用预备语句
  2. ,而不是逃避
  3. 是数据目的地,而不是重要的来源。
  4. 进入SQL查询的每个变量都应该只通过占位符添加,无论它来自POST,GET还是ATM电汇。

答案 2 :(得分:0)

您应该使用准备好的陈述。 PDO不仅为您逃避了这些值,而且还使查询字符串看起来更加漂亮,并且以后更容易进行维护。

$sql = 'SELECT * FROM users WHERE id=?';
$dbh->execute(array("@p1", $_GET['blah']));

当我需要PDO帮助时,我使用哈希PHP,它们更容易理解。

http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers