什么叫预处理语法 就是,为了“重复执行”多条结构类似的sql语句,而将该sql语句的形式“进行预先处理”(编译); 该sql语句的“形式”中,含有“未给定的数据项”。 然后,到正式执行的时候,只要给定相应的形式上的“数据项”,就可以更快速方
什么叫预处理语法
就是,为了“重复执行”多条结构类似的sql语句,而将该sql语句的形式“进行预先处理”(编译);
该sql语句的“形式”中,含有“未给定的数据项”。
然后,到正式执行的时候,只要给定相应的形式上的“数据项”,就可以更快速方便执行。
比如(有两种预定义语法):
语法1:
$sql = “select * from tab where id = ? “; //这里这个“?”就是未给定的数据项;这里通常叫做“占位符”
//也可以是多个问好。
语法2:
$sql = “select * from tab where id = :v1 and name = :v2 “; //这里这个“:v1”和 “:v2” 就是未给定的数据项;通常这里叫做“命名参数”;
怎么使用?
分3步:
1,对含预处理语法的sql语句进行“预处理”:
$stmt = $pdo->prepare($sql ); //
2, 对上述预处理的结果对象($stmt)的未赋值数据,进行赋值:
$stmt->bindValue( 数据项1, 值1);
$stmt->bindValue( 数据项2, 值2);
。。。。。。
3, 执行执行:
$stmt->execute();
这样之后,该sql语句就算正式完成!
PHP
header("content-type:text/html; charset=utf-8");
//实例化pdo对象
$pdo = new PDO("Mysql:host=127.0.0.1;port=3306;dbname=test;", "root", "888888");
//通过query函数执行sql命令
$pdo->query("set names utf8");
//插入数据
$sql = "insert into persons (name,age) values (?, ?);";
$preObj = $pdo->prepare($sql);
$res = $preObj->execute(array("小明", 22));
var_dump($res);
//删除数据
$sql = "delete from persons where id = ?";
$preObj = $pdo->prepare($sql);
$res = $preObj->execute(array(3));
var_dump($res);
//修改数据
$sql = "update persons set name = ? where id = ?;";
$preObj = $pdo->prepare($sql);
$res = $preObj->execute(array("lucy", 5));
var_dump($res);
//查询数据
$sql = "select * from persons where age > ? order by id desc;";
$preObj = $pdo->prepare($sql);
$preObj->execute(array(20));
$arr = $preObj->fetchAll(PDO::FETCH_ASSOC);
print_r($arr);
--结束END--
本文标题: pdo中的预处理语法
本文链接: https://lsjlt.com/news/5161.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0