$stmt = $conn->prepare('SELECT * FROM users WHERE user_id = :user_id'); $stmt->execute(array(':user_id' => $_GET['user_id'])); $result = $stmt->fetchAll(PDO::FETCH_OBJ);
我正在使用PDO,是否需要清理GET参数?
我知道我是否$stmt->bindParam(':user_id', $_GET['user_id'], PDO::PARAM_INT);比那不是问题。但是我的方式安全吗?
$stmt->bindParam(':user_id', $_GET['user_id'], PDO::PARAM_INT);
是的,这很安全。execute和之间的唯一区别bind*是:
execute
bind*
将参数传递给execute通常是一个方便的快捷方式,它仍然是安全的。