1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php pdo 参数绑定 PDO预处理之参数绑定和列绑定

php pdo 参数绑定 PDO预处理之参数绑定和列绑定

时间:2024-04-26 14:06:28

相关推荐

php pdo 参数绑定 PDO预处理之参数绑定和列绑定

摘要:PDO查询中,2个绑定操作:参数绑定与列绑定;参数绑定:bindParm() 和 bindValue();bindParm(':占位符',变量,类型常量) 类型常量默认为字符串bindValue(':占位符',值或变量,类型常量) 如果直接传值,可省略类型常量execute([':占位符'=>值/变量]) :将参数以数组方

PDO查询中,2个绑定操作:参数绑定与列绑定;

参数绑定:bindParm() 和 bindValue();

bindParm(':占位符',变量,类型常量) 类型常量默认为字符串

bindValue(':占位符',值或变量,类型常量) 如果直接传值,可省略类型常量

execute([':占位符'=>值/变量]) :将参数以数组方式与SQL语句的占位符绑定

列绑定:

bindColumn('列名或索引',变量,变量类型,最大长度),如果是字符串类型,应该指出最大长度进行预分配

fetch() 与 while 解析遍历结果集

MySQL对游标查询支持不够完善,如果想在结果集中巡航,请把结果集解析到数组中进行<?php

//-1数据连接,创建PDO对象

$pdo=new('mysql:host=127.0.0.1;dbname=php_edu;','root','root');

//-2执行预处理方法,创建预处理对象STMT

//:status命名占位符

$sql="SELECT'user_id','name','eamil'FROM'user'WHERE'status'=:status";

$stmt=$pdo->prepare($sql);

//-3执行

//参数绑定

$status=1;

//$stmt->bindParam(':status',$status,PDO::PARAM_INT);

//bindParm()和bindValue()基本等价,区别在于第二个参数。

//bindParm()第二个参数只能传变量;

//bindValue()第二个参数既能传变量也能传值,其余再无区别;

$stmt->bindValue(':status',$status,PDO::PARAM_INT);

$stmt->execute();

//-4遍历结果集:通常用foreach()结构

$stmt->bindColumn(1,$user_id,PDO::PARAM_INT);

$stmt->bindColumn(2,$name,PDO::PARAM_STR,20);

$stmt->bindColumn(3,$eamil,PDO::PARAM_STR,100);

$rows=[];

while($row=$stmt->fetch(PDO::FETCH_BOUND)){

echo$user_id,$eamil,$name,'

';

//将变量转为数组;compact传值:传变量名组成的字符串

$rows[]=compact('user_id','name','eamil');

}

//-5释放结果集

$stmt=null;

//-6关闭连接

$pdo=null;

?>

批改老师:韦小宝批改时间:-11-03 14:06:03

老师总结:写的很棒!Pdo链接数据库还是很重要的!继续加油吧!看好你哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。