PDO数据库基本操作
一、数据库连接
1.准备必须要的连接参数
dsn配置:数据库类型,数据域名(ip),数据库名字,数据库端口号,数据库字符集格式;
- dsn模板:
mysql:host=ip地址;dbname=数据库名字;port=数据库端口号;charset=数据库字符集
;例如:$dsn='mysql:host=127.0.0.1;dbname=test;port=3306;charset=utf8mb';
- dsn模板:
用户名和用户密码:例如
$username='admin';$password='123456';
2.用PDO类连接数据库:模板new PDO($dsn,$username,$password);
- 例如:
$pdo=new \PDO($dsn,$username,$password);
- 设置结果集返回的类型
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
3.数据库连接时,一般都用try{}catch(){}
语句来,处理链接失败等未知类型错误;
例如:try{数据库连接语句;}catch(PDOException $e){die( '连接失败:' . $e->getMessage());}
二、PDO数据操作
1.准备查询语句:一般通过?
匿名占位符或者:name
命名占位符来代替参数;例如:$sql='SELECT * FROM 'staffs where id=?';
或者$sql='SELECT * FROM 'staffs where id=:id;
2.数据库对象预处理语句返回预处理对象:$stmt=$pdo->prepare($sql);
3.预处理对象绑定参数 $stmt->bindParam(参数位置(或命名占位符),变量,参数类型);
,当更新变量时,语句也随着改变$stmt->bindValue(参数位置(或命名占位符),变量,参数类型);
以上两种方式都时逐一绑定每个参数;
4.预处理对象语句执行$stmt->execute();
数据库执行,如果预处理时未绑定参数,也可以在执行语句时绑定参数,可以通过数组同时传入多个参数
三、结果处理
1.查询结果返回结果集:
$stmt->fetch();
:一次返回一条记录(一维数组)$stmt->fetchAll();
一次返回所有查询记录(二维数组)
2.插入时返回插入最后一条记录的主键id$pdo->lastInsertId();
返回新增记录的主键id
3.插入、更新、删除时;$stmt->rowCount();
:返回受影响记录数量,如果这个值大于0就表示操作成功