欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

php 预处理原理,PHP的PDO对象预处理的2种实现方法,实现原理详解

发布时间:2025/3/21 php 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 php 预处理原理,PHP的PDO对象预处理的2种实现方法,实现原理详解 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

PDO预处理

$author = '李白';

$kind   = '五言绝句';

$id     = '5';

$query = 'SELECT * FROM poetry WHERE author=? AND kind=? AND id>?';//用问号代替要预处理的值

$stmt = $pdo->prepare($query);//开启预处理,将 sql 语句传入

实例代码开始:

$stmt->bindValue(1, $author, [参数3]);//设定 ? 1位置的值

$stmt->bindValue(2, $kind, [参数3]);//设定 ? 2位置的值

$stmt->bindValue(3, $id, [参数3]);//设定 ? 3位置的值

参数3:  PDO::PARAM_STR:默认值,字符串类型 通常不写第三个参数

PDO::PARAM_INT:整数类型

$suc = $stmt->execute();//以预处理执行前面传入的 SQL 语句

实例代码结束:

$args = [$author, $kind, $id];

$suc  = $stmt->execute($args); 以上绑定方式可简写为此方法

实例代码开始:

$query = 'SELECT * FROM poetry WHERE author=:au AND kind=:ki AND id>:id';

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

$stmt->bindValue(':au', $author);

$stmt->bindValue(':ki', $kind);

$stmt->bindValue(':id', $id);

$suc = $stmt->execute();以上绑定方式也可写为此方法,:au,:ki,:id称为命名占位符

实例代码结束:

$args = [':au'=>$author, ':ki'=>$kind, ':id'=>$id];

$suc  = $stmt->execute($args); 以上绑定方式可简写为此方法

$arr = $stmt->fetchAll(PDO::FETCH_ASSOC);//得到全部预处理查询结果,为索引数组

$pdo->beginTransaction();:开启数据库事务机制(开启事务机制的表必须为INNODB)

$pdo->commit();:使事务机制之后的改动生效

$pdo->rollBack();:使事务机制之后的改动回滚

总结

以上是生活随笔为你收集整理的php 预处理原理,PHP的PDO对象预处理的2种实现方法,实现原理详解的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。