摘要:$type = 'mysql'; $host = '127.0.0.1'; $dbname = 'news'; $charset = 'utf8'; $user = 'root'; $pass = &
$type = 'mysql';
$host = '127.0.0.1';
$dbname = 'news';
$charset = 'utf8';
$user = 'root';
$pass = 'root';
$dns = $type.":host=".$host.";dbname=".$dbname.";charset=".$charset;
$pdo = new PDO($dns,$user,$pass);
$sql = "SELECT `id`,`name`,`sex` FROM `user` WHERE `id` >= :id";
$stmt = $pdo -> prepare($sql);
$stmt->bindValue(':id', 1, PDO::PARAM_INT); #可以是字面值或变量
$stmt->execute();
#把查询结果绑定对应变量上
$stmt -> bindColumn(1, $id, PDO::PARAM_INT);
$stmt -> bindColumn(2, $name, PDO::PARAM_STR ,50);
$stmt -> bindColumn(3, $sex, PDO::PARAM_INT);
$rows = [];
while($rows = $stmt ->fetch(PDO::FETCH_BOUND)){
echo $id,$name,$sex;
echo B;
}结果:
1杨过0
3老顽童0
4洪七公0
5杨康0
6欧阳克0
7灭绝师太1
8陈近南0
10张无忌0
12小龙女1
14赵敏1
15宋青书0
18东方不败1
总结:
参数绑定可以分为三种
通过bindParam()的方式
通过bindValue()的方式
通过execute()方法执行预处理语句时直接传递参数的方式
第一,二种方式的区别在于bindParam()只能传递变量,而bindValue()可以传递字面值或变量。
第一,二种方式在绑定后也需要通过execute()执行预处理;
第一,二种优势是可以指定数据类型,第三种书写方便;
列绑定
把execute()得到的结果集以每列绑定一个变量的方式进行处理;
绑定后一个变量对应结果集中的一列,通过while循环的方式得到需要的数据;
通过列绑定方式获得结果集fetch()中需要传递的值为PDO:FETCH_BOUND ;
批改老师:韦小宝批改时间:2018-11-14 16:06:47
老师总结:嗯!写的很不错!很棒!总结以及代码都很完整!!!继续加油吧!