PDO对mysql数据库相关操作

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
 PDO是一个" 数据库访问抽象层",作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效.
  目前而言,实现"数据库抽象层"任重而道远,使用PDO这样的"数据库访问抽象层"是一个不错的选择.
   一.PDO基本函数库
  PDO->beginTransaction() 标明回滚起始点
  PDO->commit 标明回滚结束点,并执行 SQL
  PDO->__construct 建立一个PDO链接数据库的实例
  PDO->errorCode 获取错误码
  PDO->errorInfo 获取错误的信息
  PDO->exec 处理一条SQL语句,并返回所影响的条目数
  PDO->getAttribute 获取一个“数据库连接对象”的属性
  PDO->getAvailableDrivers 获取有效的PDO驱动器名称
  PDO->lastInsertId 获取写入的最后一条数据的主键值
  PDO->prepare 生成一个“查询对象”
  PDO->query 处理一条SQL语句,并返回一个“PDOStatement”
  PDO->quote 为某个SQL中的字符串添加引号
  PDO->rollBack 执行回滚
  PDO->setAttribute 为一个“数据库连接对象”设定属性
   二.PDO对mysql数据库相关操作
  修改php.ini配置文件
  1、找到与pdo相关的所有扩展
  2、去掉pdo扩展前所有分号
  3、重启apache服务
  查询操作,select查询语句
  一种方式:
$url = "mysql:host=主机地址;dbname=库名"; //连接数据库的参数
$user = "用户名";
$pwd = "密码";
$conn = new PDO($url,$user,$pwd); //连接数据库
$conn->query("set names utf8"); //设置编码
$st = $conn->query("select查询语句"); //执行select查询语句,返回数据库操纵对象statement
$rs = $st->fetchAll(); //获得结果集,结果集就是一个二维数组
//显示所有记录
foreach($rs as $value)
{
echo $value["字段名|列序号"];
}
//关闭数据库
unset($rs);
unset($st);
unset($conn);


二种方式:
$url = "mysql:host=主机地址;dbname=库名";
$user = "用户名";
$pwd = "密码";
$conn = new PDO($url,$user,$pwd);
$conn->query("set names utf8");
$st = $conn->prepare("select语句");//指定
$st->execute();//执行
$rs = $st->fetchAll();
foreach($rs as $value)
{
echo $value["字段名|列序号"];
}
unset($rs);
unset($st);
unset($conn);
  mysql增、删、改操作,insert|update|delete语句
  一种方式:
$url = "mysql:host=主机地址;dbname=库名";
$user = "用户名";
$pwd = "密码";
$conn = new PDO($url,$user,$pwd);
$conn->query("set names utf8");
$row = $conn->exec("insert|update|delete语句");
unset($conn);
  二种方式:
$url = "mysql:host=主机地址;dbname=库名";
$user = "用户名";
$pwd = "密码";
$conn = new PDO($url,$user,$pwd);
$conn->query("set names utf8");
$st = $conn->prepare("insert|update|delete语句"); //指定要执行的sql语句, 指定where Id=:a ,参数名:a
$st->bindParam(":名",$变量); //bind绑定 paramter参数:为sql语句中的:a 绑定变量$id
$result = $st->execute(); //执行prepare所指定的sql语句
unset($st);
unset($conn);

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
Python怎么操作Mysql数据库
Python怎么操作Mysql数据库
51 0
|
1月前
|
SQL 关系型数据库 MySQL
python如何操作mysql数据库
python如何操作mysql数据库
24 0
|
2月前
|
SQL 存储 算法
mysql常用指令操作
mysql常用指令操作
|
22天前
|
存储 SQL 关系型数据库
【MySQL】4. 表的操作
【MySQL】4. 表的操作
21 0
|
3月前
|
关系型数据库 MySQL
MySQL对小数进行四舍五入等操作
MySQL对小数进行四舍五入等操作
25 0
|
3月前
|
SQL 关系型数据库 MySQL
MySQL| 数据库的管理和操作【操作数据库和操作表】【附练习】
MySQL | 数据库的基本操作和表的基本操作【附练习】
|
1月前
|
SQL 关系型数据库 MySQL
|
3月前
|
SQL 关系型数据库 MySQL
MySQL | 数据库的管理和操作【表的增删改查】(一)
MySQL | 数据库的管理和操作【表的增删改查】
|
3月前
|
SQL 关系型数据库 MySQL
MySQL | 数据库的管理和操作【表的增删改查】(二)
MySQL | 数据库的管理和操作【表的增删改查】(二)
|
21天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)