前言
之前简单介绍了pdo查询-不安全的查询方式
不安全是因为存在有sql注入的情况
因此可以借用prepare方法实现防止sql注入的情况
查询1
第一种方式,使用?作为占位符,然后通过execute时加入实际的参数即可
感觉这种方式属于最为方便,且简洁的一种方式
<?php
require_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
同样是使用?占位符,但是绑定方式不同
感觉和上面的差不多
<?php
require_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
使用变量名作为占位符,表达更加清晰
感觉这样更能减少出错的概率
<?php
require_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);
文章评论