pdo对象认识与应用

参考网页:http://php.net/manual/zh/intro.pdo.php

简介:

PHP 数据对象PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能。 注意利用 PDO 扩展自身并不能实现任何数据库功能;必须使用一个 具体数据库的 PDO 驱动 来访问数据库服务。

PDO 提供了一个 数据访问 抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。 PDO 不提供 数据库 抽象层;它不会重写 SQL,也不会模拟缺失的特性。如果需要的话,应该使用一个成熟的抽象层。


1. 查看PDO是否开启:

echo phpinfo();

运行后再界面中找到pdo相关项。

2. PDO对象初始化:

参照:http://php.net/manual/zh/pdo.construct.php

try{
    $pdo = new PDO("mysql:host=localhost; dbname=myapp", "root","");
}catch (PDOException $e){
    die('Connection failed:'.$e->getMessage());
}
echo $pdo->getAttribute(PDO::ATTR_CLIENT_VERSION);
print_r($pdo);


3. PDO 对象应用:

PDO成员方法:

  • query($sql); //用于执行SQL语句。返回PDOStatement对象
  • exec($ sql); // 用于执行增删改操作,返回影响行数
  • setAttribute();//设置一个“数据连接对象的属性”。
  • fetchAll(); //解析数据;

实例:

<?php

//1.连接数据库
try{
    $pdo = new PDO("mysql:host=localhost; dbname=myapp", "root","");
}catch (PDOException $e){
    die('Connection failed:'.$e->getMessage());
}
//echo $pdo->getAttribute(PDO::ATTR_CLIENT_VERSION);
//print_r($pdo);

//2.执行query查询操作,返回一个预处理对象
$sql = "SELECT * FROM users";
$stmt = $pdo->query($sql);
$list = $stmt->fetchAll(PDO::FETCH_ASSOC);
//print_r($list);

//3.解析数据(把所有数据解析出来)
foreach($list as $val){
    echo $val['id'].'...'.$val['name'].'...'.$val['age'].'<br>';
}

//4.释放资源
$stmt = null;
$pdo = null;

快捷的操作方法:参考网页:http://php.net/manual/zh/pdo.query.php

<?php

//1.连接数据库
try{
    $pdo = new PDO("mysql:host=localhost; dbname=myapp", "root","");
}catch (PDOException $e){
    die('Connection failed:'.$e->getMessage());
}
//echo $pdo->getAttribute(PDO::ATTR_CLIENT_VERSION);
//print_r($pdo);

//2.执行query查询操作,返回一个预处理对象
$sql = "SELECT * FROM users";
//print_r($list);

foreach ($pdo->query($sql) as $val) {
    echo $val['id'].'...'.$val['name'].'...'.$val['age'].'<br>';
}


插入一条数据:

<?php

//1.连接数据库
try{
    $pdo = new PDO("mysql:host=localhost; dbname=myapp", "root","");
}catch (PDOException $e){
    die('Connection failed:'.$e->getMessage());
}
//echo $pdo->getAttribute(PDO::ATTR_CLIENT_VERSION);
//print_r($pdo);

//2.执行query查询操作,返回一个预处理对象
//$sql = "SELECT * FROM users";
//foreach ($pdo->query($sql) as $val) {
//    echo $val['id'].'...'.$val['name'].'...'.$val['age'].'<br>';
//}

//插入一条语句
$sql = "INSERT INTO users(name, age) VALUES ('xy', 11)";
$res = $pdo->exec($sql);
if($res){
    echo "sucess";
}else{
    echo mysql_error();
}

删除一条数据:

//删除一条数据
$sql = "DELETE FROM users WHERE id=5";
$res = $pdo->exec($sql);
if($res){
    echo "sucess";
}else{
    echo mysql_error();
}


修改一条数据:

$sql = "UPDATE users SET name='ne' WHERE id=3";
$res = $pdo->exec($sql);
if($res){
    echo "sucess";
}else{
    echo mysql_error();
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值