亲们,您还在为不知道选用哪种数据库而犯愁吗?您还在为数据库间的移植问题而感到困惑吗?不要着急,接下来教你一个可以连接各种主流的数据库的扩展类库(PHP Data Object),
pdo支持的数据库包括:mysql oracle mssql postgreSQL等,它提供了一个各种数据库的访问接口,如此牛X的东东与大家一起来分享,走着:
首先介绍一下支持PDO的驱动及相应的数据库列表:
驱动名 对应访问的数据库
PDO_DBLIB FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD Firebird / Interbase 6
PDO_MYSQL MYSQL 3.x/4.x/5.x
PDO_OCI Oracle
PDO_SQLite SQLite 2.x /3.x
PDO_ODBC ODBC v3
PDO_PGSQL PostgreSQL
1、在linux下如果想使用PDO时,要在安装php5.1以上版本的源代码包的环境.时,向configure命令中添加如下的标志:
--with-pdo-mysql=/usr/local/mysql 其中“/usr/local/mysql”为mysql服务器的安装目录
如果要开启其他各个特定pdo驱动程序的更多信息请参考执行: configure --help
2、window下pdo的安装使用,注意php的版本都要在5.1以上
所要做的步骤就是修改php.ini文件即可:
1)、首先开启所有PDO驱动程序共享的扩展,必须的
extension = php_pdo.dll
2)、根据你要使用的数据库,并开启相应的扩展
MYSQL: extension=php_pdo_mysql.dll
ODBC : extension=php_pdo_odbc.dll
...........................如果没有请查询你要使用的扩展库,并保证在php的安装目录下的ext文件中有该扩展文件...............................................
3)、打印phpinfo(); 如果看到PDO扩展则成功,继续走着
3、创建PDO对象
PDO构造方法: __construct(string dsn [,string username [, string password] [, array driver_options]]);
dsn: 第一个必选的参数是数据源名(DSN),用来定义一个确定的数据库和必须用到驱动程序,以下介绍几个数据库的DSN
1)、Oracle: oci:dbname=//localhost:1521/mydb
2)、mysql: mysql:dbname=testdb;host:localhost
username : 连接数据库的用户名
password: 连接数据库的密码
driver_options: 该参数为一个数组指定连接所需的所有的额外的选项,传递附加的调优参数到PDO或底层驱动程序。
4、以多种方式调用构造方法
1、将参数嵌入到构造函数
<?php
try{
$dbh = new PDO("OCI:dbname=accounts;charset=UTF-8;host=127.0.0.1", "username", "password");
}catch(PDOException $e){
echo "连接数据库失败:".$e->getMessage();
}
?>
2、将参数存放在文件中
<?php
try{
$dbh = new PDO("uri:file:///usr/local/dbconnect", "username", "password");
}catch(PDOException $e){
echo "连接数据库失败:".$e->getMessage();
}
?>
3、引用php.ini文件
<php配置文件中>
[PDO]
pdo.dsn.oraclepdo="OCI:dbname=//localhost:152/mydb;charset=UTF-8";
<php配置文件中>
<?php
try{
$dbh = new PDO("oraclepdo", "username", "password");
}catch(PDOException $e){
echo "连接数据库失败:".$e->getMessage();
}
?>
4、PDO与连接有关的选项
PDO::ATTR_AUTOCOMMIT 确定PDO是否关闭自动提交功能,设置false值时关闭
PDO::ATTR_CASE 强制PDO获取的表字段字符的大小写转换,或原样使用列信息
---------------------------------------还有很多就不依依举例---------------------------------------------------
5、PDO对象中的成员方法
getAttribute()
setAttribute()
errorCode()
errorInfo
exec() 处理一条sql语句,并且返回所影响的条目数
query() 处理一条sql语句,并返回PDOStatement 对象
quote() 为某个sql中的字符串添加引号
LastInsertId()
prepare() 负责准备要执行sql语句
getAvailiableDrivers() 获取有效的PDO驱动器名称
beginTransaction() 开始一个事务,标明回滚起始点
commit() 提交一个事务,并且执行sql
rollback()
6、调整PDO的行为属性:这里举获取属性与设置属性另个例子,和js一样很简单的
$pdodb->getAttribute("PDO::ATTR_AUTOCOMMIT"); //判断是否设置了自动提交功能,返回值true ,false
$pdodb->setAttribute("PDO::ATTR_AUTOCOMMIT",true); //手动开启自动提交
就先到这里,明天继续。。。。。。。。。。。。。。。。。。。闪