天天看点

前端学PHP对PDO基础操作PDO的解释

前端PHP对PDO基础操作

  • PDO的解释
    • 创建PDO对象
    • PDO的构造方法原型如下
      • 建库语句
      • 执行SQL语句

PDO的解释

PDO(php data object)扩展类库为php访问数据库定义了轻量级的、一致性的接口,它提供了一个数据库访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据,大大简化了数据库的操作,并能够屏蔽不同数据库之间的差异,使用PDO可以很方便地进行跨数据库程序的开发,以及不同数据库间的移植,是将来php在数据库处理方面的主要发展方向,它可以支持mysql、postgresql、oracle、mssql等多种数据库。

创建PDO对象

使用PDO在与不同数据库管理系统之间交互时,PDO对象中的成员方法是统一各种数据库的访问接口,所以在使用PDO与数据库进行交互之前,首先要创建一个PDO对象。在通过构造方法创建对象的同时,需要建立一个与数据库服务器的连接,并选择一个数据库。

PDO的构造方法原型如下

// 连接数据库
try {
	// 第一种
	// $pdo = new PDO('mysql:host=localhost;dbname=php_wish2','root','root');
	// 第二种
	$username = 'root';
	$password = 'root';
	$pdo = @new PDO('mysql:host=localhost;dbname=php_wish2',$username,$password);
	// 测试数据库的连接
	// print_r($pdo);
} catch (PDOExcertion $e) {
	// 出错时输出错误值
	echo $e->getMessage();
}
           

建库语句

在使用PDO执行查询数据之前,先提供一组相关的数据。创建PDO对象并通过mysql驱动连接mysql数据库服务器,创建一个以’stu’命名的数据库,并在该数据库中创建一个联系人信息表classInfo.

// 创建数据表
	CREATE TABLE classInfo(
	    id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
	    name VARCHAR(50) NOT NULL,
	    departmentID CHAR(3) NOT NULL,
	    address VARCHAR(80) NOT NULL,
	    phone VARCHAR(20),
	    email VARCHAR(20),
	    PRIMARY KEY(uid)
	);
           

执行SQL语句

try {
	//创建对象
	$dbh = new PDO("mysql:host=localhost;dbname=testdb", "root", "root");    
	}catch(PDOException $e) {        
		echo "数据库连接失败:".$e->getMessage();    
	}
	// 更改语句
	$query = "UPDATE classInfo SET phone='12345678900' WHERE name='张三'";
	// 执行语句    
	$affected = $dbh->exec($query);	
	// 判断执行结果
	if($affected){        
		//数据表classInfo中受影响的行数为:1        
		echo '数据表classInfo中受影响的行数为:' .$affected;    
	}else{
		// 输出结果
		print_r($dbh->errorInfo());    
	}
           

【简单总结】

从上面的使用看出,PDO功能确实强大,另外还有一些内容我没有讲到,比如绑定参数、预处理、存储过程、事务处理等等功能。另外还有不同数据扩 DSN的构造,Oracle数据库自己很多特殊的东西,都需要深入去学习理解,这篇文章就只是简单的描述了一些入门知识,算是对PDO一个简单的了解吧。