【发布时间】:2013-03-14 23:17:07
【问题描述】:
数据库是否仍然容易受到使用prepare语句进行SQL注入的攻击,例如以下示例(我使用的是PDO和php 5.3版):
$unsafe = $_POST['user_input'];
$stmt = $db->prepare("INSERT INTO table (column) VALUES ('" . $unsafe . "')");
这两个例子有什么值得一提的区别吗?
$stmt = $db->prepare('SELECT * FROM table WHERE name = :name');
$stmt->execute(array(':name' => $name));
和
$stmt = $db->prepare('SELECT * FROM table WHERE name = :name');
$stmt->bind_param(':name', $name);
$stmt->execute();
方法执行中可以使用哪些类型的参数?
【问题讨论】:
标签: php sql pdo prepared-statement sql-injection