前言
之前简单介绍了pdo查询-不安全的查询方式
不安全是因为存在有sql注入的情况
因此可以借用prepare方法实现防止sql注入的情况
查询1
第一种方式,使用?作为占位符,然后通过execute时加入实际的参数即可
感觉这种方式属于最为方便,且简洁的一种方式
<?phprequire_once("dbh.php");$sql = "SELECT * FROM bmi where id = ?";$stmt = $pdo -> prepare($sql);$stmt->execute([1]);$result = $stmt->fetch(PDO::FETCH_ASSOC);print_r($result);查询2
同样是使用?占位符,但是绑定方式不同
感觉和上面的差不多
<?phprequire_once("dbh.php");$sql = "SELECT * FROM bmi where id = ?";$stmt = $pdo -> prepare($sql);$id = 1;$stmt->bindParam(1,$id);$stmt->execute();$result = $stmt->fetch(PDO::FETCH_ASSOC);print_r($result);查询3
使用变量名作为占位符,表达更加清晰
感觉这样更能减少出错的概率
<?phprequire_once("dbh.php");$sql = "SELECT * FROM bmi where id = :id";$stmt = $pdo -> prepare($sql);$id = 1;$stmt->bindParam(":id",$id);$stmt->execute();$result = $stmt->fetch(PDO::FETCH_ASSOC);print_r($result);
文章评论