$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);
Run Code Online (Sandbox Code Playgroud)
我正在使用这样的PDO,我是否需要清理GET参数?
我知道如果我做的$stmt->bindParam(':user_id', $_GET['user_id'], PDO::PARAM_INT);比这不是问题.但我的方式安全吗?
是的,这很安全.execute和之间的唯一区别bind*是:
execute一次接受几个参数,而你必须bind*单独接受每个参数bind*允许您指定参数类型,同时execute将所有内容绑定为字符串传递参数execute主要是方便的简写,它仍然是安全的.
| 归档时间: |
|
| 查看次数: |
479 次 |
| 最近记录: |