PHP数据库拓展之PDO使用总结:
l PDO是PHP Data Object的缩写。
l 一个项目一般情况下,只有一个数据库服务器;但是,特大型项目可能会有多个数据库服务器。
l PDO是一个操作不同的数据库类,操作不同数据库的接口。
l PDO是PHP和各种数据库之间的一个部件,通过这个部件来操作不同数据库。
l 如果没有PDO,PHP操作不同数据库,你得记很多不同数据库的函数。
l 有了PDO,以后就把MySQL的函数都忘记了。
1、PDO访问流程图
2、开启MySQL的PDO扩展
修改PHP的配置文件php.ini。
3、PDO连接MySQL
l 描述:创建一个表示数据库连接的 PDO 实例
l 语法:PDO::__construct ( string $dsn [, string $username [, string $password]] )
l 参数:
$dsn数据库名称,是连接数据库必要的信息,或者驱动信息。
格式:$dsn = “dbtype:host=主机名; port=端口号; dbname=数据库名; charset=字符集”;
dbtype:数据库类型,如:mysql
host:数据库主机名。
port:数据库端口号。
dbname:数据库名称。
charset:字符集。
举例:$dsn = “mysql:host=localhost;port=3306;dbname=itcast;charset=utf8”
$username数据库用户名称。
$password数据库用户密码。
//语法:PDO::__construct ( string $dsn [, string $username [, string $password]] )
$dsn="mysql:host=localhost;port=3306;dbname=itcast;charset=utf8 ";
$username='root';
$password='root';
//创建pdo类的对象
$pdo=new PDO($dsn,$username,$password);
exec()//描述:执行一条 SQL 语句,并返回受影响的行数
query()//描述:执行SQL语句,并返回结果集对象(PDOStatement)
lastInsertId()//返回最后插入行的ID或序列值
setAttribute()//描述:设置属性
PDO::ATTR_CASE:强制列名为指定的大小写。
PDO::CASE_LOWER:强制列名小写。
PDO::CASE_NATURAL:保留数据库驱动返回的列名。
PDO::CASE_UPPER:强制列名大写。
PDO::ATTR_ERRMODE:错误报告。
PDO::ERRMODE_SILENT: 仅设置错误代码。
PDO::ERRMODE_WARNING: 引发 E_WARNING 错误
PDO::ERRMODE_EXCEPTION: 抛出 exceptions 异常。
PDO::ATTR_DEFAULT_FETCH_MODE: 设置默认的提取模式。
PDO::FETCH_ASSOC:返回一个索引为结果集列名的数组
PDO::FETCH_BOTH(默认):返回一个索引为结果集列名和以0开始的列号的数组
PDO::FETCH_NUM:返回一个索引为以0开始的结果集列号的数组
设置数组提取的方式为:字段数组下标
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC)
PDOStatement结果集对象常用方法