当前位置:Gxlcms > PHP教程 > PHP中PDO

PHP中PDO

时间:2021-07-01 10:21:17 帮助过:14人阅读

mysql中具有很多扩张,mysql扩展、mydqli扩展、pdo_mysql扩展等.实现的功能都是相同的,pdo_mysql在高版本的PHP中推荐使用。PHP数据库对象(PDO)扩展为PHP范文数据库定义了一个轻量级的一致接口。它提供了一个数据访问抽象层,不管使用哪种数据库,都可以使用想听的方法来获取数据。

相关mysql视频教程推荐:《mysql教程》

实例化
$pdo=new PDO();
PDO::__construct(string $dsn [,string $username [,string $password [,array $driver_options]]]);

因此实例化PDO对象时需要参数。

$dsn:数据源名称,包含了请求连接到数据库的信息。

$dsn='mysql:host=127.0.0.1;port=3306;dbname=数据库名称';

前缀mysql:用于说明数据库服务器的类型。

$username:用户名.

$password:用户密码.

$driver_option:驱动选项-->对于当前数据库服务器一些特定的初始化工作。

$driver_option=array(PDO::MYSQL_ATTR_INIT_COMMAND=>'set naames utf8');
<?php
$username='root';
$password='root';
$dsn='mysql:host=localhost;dbname=study;port=3306';
$driver_option=array(PDO::MYSQL_ATTR_INIT_COMMAND=>'set names utf8');
$pdo=new PDO($dsn,$username,$password,$driver_option);
var_dump($pdo);

返回结果为一个对象。和mysql_connect()(返回资源resource)不同,

执行sql语句

使用PDO对象中的query()方法。

<?php
	echo '<pre>';
	$username='root';
	$password='root';
	$dsn='mysql:host=localhost;dbname=study;port=3306';
	$driver_option=array(PDO::MYSQL_ATTR_INIT_COMMAND=>'set names utf8');
	$pdo=new PDO($dsn,$username,$password,$driver_option);
	var_dump($pdo);
	$sql='show databases';
	$result=$pdo->query($sql);
	var_dump($result);

此处结果与mysql_query()有所不同,mysql_query()产生的是一个结果集,而pdo由于是封装后的,在这里产生的是一个PDOStatement对象。

得到结果的处理

mysql类中使用mysql_fetch_arr();将结果集转为数组。

在PDO中可以使用fetchAll()来达到相同的功能。

用上面的结果:

$result->fetchAll();//$result是一个PDOStatement对象。

PDO对象的常用方法

errorInfo:sql执行过程失败时,产生错误信息。该信息是以数组的形式表现出来的;

errorCode:sql执行失败时,产生错误代码。

$sql='sho databases';//此处故意写错。(在已连接上数据库的前提下)
	if(!$result=$pdo->query($sql)){
		var_dump($pdo->errorInfo());
                echo '<br/>'
		var_dump($pdo->errorCode());
	}


beginTransaction():开启事务

rollback():回滚事务

commit():提交事务

inTransaction():判断是否处于事务中

lastInsertID():最后形成的auto_increment字段的值

Exec():执行sql的方法。与query()不同,Exec()返回值为整型。表示当前执行sql所影响的记录数。

因此query()适合用于查询类:show、select、desc等。

Exec()适合用于非查询类:insert、delete、update等。

以上就是PHP中PDO的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行