这篇文章主要介绍了关于php操作MySQL数据库之PDO方式 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
基本使用
1)连接数据库
$pdo = new PDO(“mysql:host=localhost; dbname=db_name”,username,password);
2)执行SQL语句
$pdo -> query() 针对返回有结果的操作 适用于SELECT $pdo -> exec() 针对没有返回结果的操作 适用于增删改
3)获取结果集(查询操作专有)
$stmt -> fetch($mode) 获取一条数据 $stmt -> fetchAll($mode) 获取所有数据
mode可选择 pdo::fetch_assoc,结果变成关联数组。
实例
exec("set names utf8");
$sql = "SELECT * FROM users";
$stmt = $pdo -> query($sql);
// 获取结果集
$data = $stmt -> fetchAll(PDO::FETCH_ASSOC);
var_dump($data);事务控制
1)开启事务
$pdo -> beginTransaction()
2)事务回滚
$pdo -> rollback()
3)事务提交
$pdo -> commit()
4)自动提交
$pdo -> setAttribute(PDO::ATTR_AUTOCOMMIT,1)
实例
exec("set names utf8");
// 开启事务
$pdo -> beginTransaction();
// SQL语句
$sql1 = "UPDATE users SET `money`=`money`+1 WHERE `id` = 1 ";
$r1 = $pdo -> exec($sql1);
$sql2 = "UPDATE users SET `money`=`money`-1 WHERE `id` = 12 ";
$r2 = $pdo -> exec($sql2);
// 做判断
if($r1 > 0 && $r2 > 0){
$pdo -> commit();
echo '操作成功';
}else{
$pdo -> rollback();
echo '操作失败';
}
$pdo -> setAttribute(PDO::ATTR_AUTOCOMMIT,1);预处理
1)$sql = “???”
SQL语句的VALUE里面的参数,使用问号代替。
2)创建预编译对象
$pdo -> prepare($sql)
3)参数赋值
$stmt -> bindParam(参数位置 | 参数伪名, 变量名(需要有值)) $stmt -> bindValue(参数参数位置 | 参数伪名, 变量名(需要有值)| 具体的值)
$stmt -> bindParam详解:
$sql = "UPDATE users SET `money`=100 WHERE id = :num ";
// 注意,这里必须先给$num赋值
$num = 3;
$stmt -> bindParam(":num",$num);
另一种形式(占位符变成问号)
$sql = "UPDATE users SET `money`=100 WHERE id = ? ";
// 注意,这里必须先给$num赋值
$num = 3;
$stmt -> bindParam(":num",$num);$stmt -> bindValue详解
在使用bindValue绑定变量后,即使在执行execute之前改变了该变量的值,那么结果也不会变。
立即学习“PHP免费学习笔记(深入)”;
SmartB2B 是一款基于PHP、MySQL、Smarty的B2B行业电子商务网站管理系统,系统提供了供求模型、企业模型、产品模型、人才招聘模型、资讯模型等模块,适用于想在行业里取得领先地位的企业快速假设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC模式开发。融入了模型化、模板
详细请看这里这里写链接内容
4)执行代码
$stmt -> execute()
5)获取结果(查询操作专有)
$stmt -> fetch($mode) 获取一个结果 $stmt -> fetchAll($mode) 获取所有结果
mode可选择 pdo::fetch_assoc,结果变成关联数组。
实例
exec("set names utf8");
// SQL语句
$sql = "SELECT * FROM users WHERE id > :num ";
// 创建预编译对象
$stmt = $pdo -> prepare($sql);
// 参数绑定
$num = 3;
$stmt -> bindParam(":num",$num);
// 执行SQL语句
$stmt -> execute();
// 获取结果集
$data = $stmt -> fetchAll(PDO::FETCH_ASSOC);
var_dump($data);相关推荐:










