PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。
PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。
PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。
PDO连接数据库
<?php
//定义数据库连接参数
$db = [
'type' => 'mysql', //数据类型
'host' => 'localhoost', //数据库主机名
'dbname' => 'test', //使用的数据库
'user' => 'root', //数据库连接账号
'password' => 'root', //对应的密码
'port' => 3306 //端口,一般默认,所以可以省略
];
$dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";
try{
$pdo = new PDO($dsn,$db['user'],$db['password']);
}catch(PDOException $e){
die('Error: '. $e->getMessage().'<br/>' );
}
1.PDO增加操作
<?php
// 引入PDO模板
require __DIR__.'/pdo.php';
$sql = "INSERT INTO user ('user','password','email') VALUES (:user,:password:email)";
$stem = $pdo->prepare($sql);
//绑定数据
$stem->bindParam('user',$user,PDO::PARAM_STR);
$stem->bindParam('password',$passwd',PDO::PARAM_STR);
$stem->bindParam('email',$email,PDO::PARAM_STR);
$user = 'admin';
$passwd = 'root';
$email = '123465@qq.com';
//执行sql
if($stem->execute()){
if($stem->rowCount() > 0){
echo '添加了' . $stem->.rowCount(). '条记录';
}
}else{
die( print_r($stem->errorInfo(),true) );
}
//销毁pdo对象
$pdo = null;
2.PDO删除操作
<?php
// 引入PDO模板
require __DIR__.'/pdo.php';
$sql = "DELETE FROM `user` WHERE `id` = :id";
$stem = $pdo->prepare($sql);
//绑定数据
$stem->bindParam('id',$id,PDO::PARAM_STR);
$id = 5;
//执行sql
if($stem->execute()){
if($stem->rowCount() > 0){
echo '删除了' . $stem->.rowCount(). '条记录';
}
}else{
die( print_r($stem->errorInfo(),true) );
}
//销毁pdo对象
$pdo = null;
3.PDO修改操作
<?php
// 引入PDO模板
require __DIR__.'/pdo.php';
$sql = "UPDATE `user` SET `user` = ?,`password` = ? WHERE `id` = :id";
$stem = $pdo->prepare($sql);
//绑定数据
$stem->bindParam(1,$user,PDO::PARAM_STR);
$stem->bindParam(2,$admin,PDO::PARAM_STR);
$user = 'root';
$password = 'admin';
//执行sql
if($stem->execute()){
if($stem->rowCount() > 0){
echo '更新了' . $stem->.rowCount(). '条记录';
}
}else{
die( print_r($stem->errorInfo(),true) );
}
//销毁pdo对象
$pdo = null;
3.PDO查询操作
<?php
// 引入PDO模板
require __DIR__.'/pdo.php';
$sql = "SELECT * FROM `user` WHERE `id` = ?";
$stem = $pdo->prepare($sql);
//绑定数据
$stem->bindParam(1,$id,PDO::PARAM_STR);
$id = 5;
//执行sql
$stem->execute();
while($res = $stem->fetch(PDO::FETCH_ASSOC)){
echo '<pre>';
print_r($res,true);
}
//销毁pdo对象
$pdo = null;