pdo连接数据库(拓展)

简介

**PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。
PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。
PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。**

安装

<font color = "blue">你可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展。</font>
PDO 和所有主要的驱动作为共享扩展随 PHP 一起发布,要激活它们只需简单地编辑 php.ini 文件,并添加以下扩展:

extension=php_pdo.dll

除此之外还有以下对应的各种数据库扩展:

;extension=php_pdo_firebird.dll ;extension=php_pdo_informix.dll
;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll ;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll

链接数据库

pdo对象是一个在页面中不可见内容的对象
这个对象只能靠创建成功和失败来判断链接状态,而无法查看内部的属性和属性值

try{
	$dsn = 'mysql:host=localhost;dbname=bbs;charset=utf8;port=3306';

	$pdo = new PDO($dsn,'root','admin');
} catch(PDOException $e){
	echo '错误';
	echo $e->getMessage();//返回错误信息
}

设置错误处理模式(PDO::ATTR_ERRMODE) 推荐为异常处理模式

PDO::ERRMODE_SILENT:不报错误
PDO::ERRMODE_WARNING:以警告的方式报错  后面的代码继续执行
PDO::ERRMODE_EXCEPTION:以异常的方式报错  中断代码的执行

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

设置结果集返回的格式(PDO::ATTR_DEFAULT_FETCH_MODE)

PDO::FETCH_ASSOC -- 关联数组形式
PDO::FETCH_NUM -- 数字索引数组形式
PDO::FETCH_BOTH -- 两者数组形式都有
PDO::FETCH_OBJ -- 按照对象的形式
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);

操作数据库

$pdo->exec(sql语句)  insert  update  delete  执行有影响行数的语句  增删改  会改变表结构
$pdo->query(sql语句)  select  执行有查询结果集的语句,只是查询数据;返回一个预处理对象

$user = $stmt->fetch();//默认是索引数组和关联数组相结合的方式
$user = $stmt->fetch(PDO::FETCH_ASSOC);//返回索引形式的数组
$user = $stmt->fetch(PDO::FETCH_OBJ);//返回一个对象

$users = $stmt->fetchAll();//返回一个二维数组  索引数组和关联数组相结合的方式
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);//返回二维数组 关联数组的形式 
$users = $stmt->fetchAll(PDO::FETCH_CLASS);//返回二维数组 对象的形式 
在PHP中,我们可以使用封装来连接数据库和引入包。 首先,连接数据库是在PHP中与数据库通信的一个重要步骤。我们可以使用MySQLi(MySQL Improved)或PDO(PHP Data Objects)来连接数据库。这些是PHP提供的两种常用的数据拓展。通过使用这些拓展,我们可以轻松地连接到各种数据库,并执行各种SQL语句以实现数据的增删改查。为了方便复用和维护,我们可以将连接数据库的代码封装到一个函数或一个类中。比如,我们可以将数据库连接封装在一个名为"db_connect.php"的文件中: ```php <?php function db_connect(){ $host = "localhost"; $username = "root"; $password = ""; $dbname = "mydatabase"; $conn = new mysqli($host, $username, $password, $dbname); if ($conn->connect_error) { die("数据库连接失败: " . $conn->connect_error); } return $conn; } ``` 这样,当我们需要连接到数据库时,只需引入这个文件,并调用`db_connect()`函数即可。 其次,引入包是在PHP中使用第三方库或组件的一种常见方式。在PHP中,我们可以使用`require`或`include`语句来引入包或外部文件。一般而言,我们将这些引入包的语句放在PHP文件的顶部。比如,如果我们想引入一个名为"example.php"的文件,我们可以这样写: ```php <?php require_once("example.php"); ``` 这将会将"example.php"中的代码引入到当前的PHP文件中,使我们可以使用那个文件中定义的类、函数、常量等。 总结起来,通过封装数据库连接和引入包,我们可以提高代码的复用性和可维护性,使我们能够更加高效地操作数据库和使用第三方组件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值