且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

PDO对mysql数据库相关操作

更新时间:2022-10-05 07:53:09

 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/