PDO

PDO是一个PHP数据库抽象层,提供数据库连接和预处理等功能。本文介绍了PDO的基本概念,如通过参数形式连接数据库,以及PHP预处理中的问号占位符用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. PDO简介

PDO是PHP Data Object(PHP数据对象)的简称。

2.PDO的特性

1.编码一致性:PDO提供可用于各种数据库的单一接口
2.灵活性:PDO在运行时必须加载数据库驱动程序,所以不需要每次在使用数据库时,重新配置和重新编译PHP
3.高性能:PDO是用C语言编写的编译为PHP,与用php编写的其他方案相比,虽然其他功能相同,但提供了更高的性能
4.面向对象特性:PDO是利用的PHP5面向对象的特性,可以获得更高效的数据库通信。

注意:PDO扩展只是一个抽象的接口层,利用PDO扩展本身,并不能实现任何数据库的操作,必须使用一个特性的形式把各自的特色表现出来才行。

在这里插入图片描述

连接数据库

1.通过参数形式连接数据库(重点掌握此种办法)


    //通过参数形式连接数据库
	    try{
	     $dsn='mysql:host=localhost;dbname=school';
	     $username='root';
	     $password='root';
	     $pdo=new  PDO ($dsn,$username,$password);
	     var_dump($pdo);
	    }catch (PDOException $e){
	        echo $e->getMessage();
	    };
	    
	    需要注意:dsn是你的数据源 
    
    输出结果:object(PDO)#1 (0) { }

php预处理(问好占位符)


<?php
    //phpinfo();
//PDO连接数据库
try{
 $pdo= new  PDO('mysql:host=localhost;dbname=aaa','root','root');
// $sql=<<<EOF
//    CREATE TABLE `a4`(
//	`id` INT auto_increment PRIMARY KEY,
//	`name` VARCHAR(20),
//	`password` VARCHAR(20)
//);
//EOF;
//    $sql="INSERT INTO `a4` VALUES(DEFAULT ,'a','aaa'),(DEFAULT ,'b','bbb'),(DEFAULT ,'c','ccc'),(DEFAULT ,'d','ddd');";
//    $sql="SELECT *FROM `a4`;";

    //$sql="select * from `a4`";
    //$res=$pdo->query($sql);

//   PDO中常用获取结果集的方式有3种:

//    1.fetch可以从结果集中获取下一行数据   :循环获取所有关联数组结果
//    $row=$res->fetch();
//    print_r($row);

    //2.fetchColumn()用于获取结果集中单独一列
//    while($row = $res->fetchColumn()){
//        echo $row;
//    }

    //3.fetchAll()获取所有结果
//        $row = $res->fetchAll(PDO::FETCH_ASSOC);     //以关联数组返回所有结果
//        print_r($row);

//*****************************************************************************************
    //execute()执行一条预处理语句

    //1.问好占位符
    $sql="INSERT INTO `a4` VALUES(DEFAULT ,?,?);";
    //2.准备预处理
    $stmt=$pdo->prepare($sql);
    //3.绑定参数
    $stmt->execute(['z','zzz']);
    //4.判断参数是否大于0
    if($stmt->rowCount()>0){
        echo 'OK';
    }else{
        echo 'NO';
    }
}catch (PDOException $e){  //PDOException: 代表一个由 PDO 产生的错误;
    //获取异常消息内容
    echo $e->getMessage();
}
?>
<?php
//try{
//    $pdo = new PDO('mysql:host=localhost;dbname=aaa;charset=utf8', 'root', 'root');
//    echo 'PDO 连接数据库成功';
//}catch(PDOException $e){
//    //连接失败,输出异常信息
//    echo 'PDO连接数据库失败:'.$e->getMessage();
//}
//
//?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值