PDO概述 PDo通过数据库抽象层实现了以下特性 灵活性:可以在PHP运行期间直接加载新的数据库,而不需要在新的数 据库使用时重新设置和编译。 面向对象性:这个特性完全配合了PHP5,通过对象来控制数据库的使用 速度极快:由于PDO是使用C语言编写并且编译进PHP的,所以比那些用 PHP编写的抽象类要快的多
PDO概述 PDO通过数据库抽象层实现了以下特性: 灵活性:可以在PHP运行期间直接加载新的数据库,而不需要在新的数 据库使用时重新设置和编译。 面向对象性:这个特性完全配合了PHP5,通过对象来控制数据库的使用。 速度极快:由于PDO是使用C语言编写并且编译进PHP的,所以比那些用 PHP编写的抽象类要快的多
PDO安装方法 由于PDo类库是PHP自带的类库,因此要使用PDO类库,只需要在 php init中把关于PDO类库的语句前面的注释符号去 掉即可。 首先启用 extension=php_pdo.d类库,这个类库是PDo类库本身。然后不同的数据库驱动类库选项。 [PHP_PDO_MYSQL] extension= php_pdo_mysq.dl/激活 MySQL的PDO驱动 [PHP_ PDO_MSSQL] extension=php_ pdo_mssql. dll/)活 MS SQL的PDO驱动 [PHP PDO Oracle extension=php_pdo_ocidl 激活 Oracle的PDO驱动 [PHP PDO ODBC] extension=php_ pdo_odbc. dll/激活ODBC的PDO驱动 [PHP_PGSQ凵 extension=php_pgsql. dll 激活 PostgreSQL的PDO驱动
PDO安装方法 由于PDO类库是PHP自带的类库,因此要使用PDO类库,只需要在php.ini中把关于PDO类库的语句前面的注释符号去 掉即可。 首先启用extension=php_pdo.dll类库,这个类库是PDO类库本身。然后不同的数据库驱动类库选项。 [PHP_PDO_MYSQL] extension=php_pdo_mysql.dll //激活MySQL的PDO驱动 [PHP_PDO_MSSQL ] extension=php_pdo_mssql.dll //激活MS SQL的PDO驱动 [PHP_PDO_Oracle] extension=php_pdo_oci.dll //激活Oracle的PDO驱动 [PHP_PDO_ODBC] extension=php_pdo_odbc.dll //激活ODBC的PDO驱动 [PHP_PGSQL] extension=php_pgsql.dll //激活PostgreSQL的PDO驱动
PDO操作 MySQL数据库 首先搭建好环境,使用的类库为 extension=php_pdo.d和 extension_pdo_mysql. dll 连接 MySQL数据库主要通过PDO类库内部的构造函数来完成的。PDO构 造函数的结构为 PDO:constuct(DSN, username, password, [driver_options]) 其中DSN是一个“数据源名称”, username是一个接入数据源的用户名, password是用户密码, driver_options是特定连接要求的其他参数。 DSN是一个字符串,是由“数据库服务器类型”“数据库服务器地址 和“数据库名称”组成的,它们组合的格式为 数据库服务器类型:host=数据库服务器地址; dbname=数据库名称
PDO操作MySQL数据库 首先搭建好环境,使用的类库为extension=php_pdo.dll和 extension_pdo_mysql.dll 连接MySQL数据库主要通过PDO类库内部的构造函数来完成的。PDO构 造函数的结构为: PDO::_constuct(DSN,username,password,[driver_options]) 其中DSN是一个“数据源名称”,username是一个接入数据源的用户名, password是用户密码,driver_options是特定连接要求的其他参数。 DSN是一个字符串,是由“数据库服务器类型”“数据库服务器地址” 和“数据库名称”组成的,它们组合的格式为: ‘数据库服务器类型:host=数据库服务器地址;dbname=数据库名称’
PDO操作 MySQL数据库 driver_options是一个数组,它有很多选项 PDo: ATTR AUTOCOMMIT:此选项定义PDO在执行时是否注释每条请求 pDo∷ATTR_CASE:通过此选项,可以控制数据库中取得的数据的字母大小写。具体来 说就是,通过PDO: CASE UPPER使所有读取的数据字母变为大写,可以通过 PDO: CASE LOWER使所有读取的数据字母变为小写,可以通过PDO: CASE NATURL 使用特定的在数据库中发现的字段。 PDO: ATTR EMULATE PREPARES:使用此选项可以利用 MySQL的请求缓存功能。 pDo: ATTR ERRMODE:使用此选项定义PDO的错误报告模型。具体的3中模式分别为 pDo∴: ERRMODE EXCEPTION例外模式、PDO: ERRMODE SILENT沉默模式和 PDo∴: ERRMODE WARNING警报模式 PDo∷: ATTR ORACLE NULLS:使用此选项,在使用 Oracle数据库时,会把空字符串转 换为NUL值。一般情况下,此选项默认为关闭。 pDo∷ATTR_ PERSISITENτ:使用此选项来确定此数据库的连接是否是可持续,但是其默 认值为 false,不启用
PDO操作MySQL数据库 driver_options是一个数组,它有很多选项: PDO::ATTR_AUTOCOMMIT:此选项定义PDO在执行时是否注释每条请求。 PDO::ATTR_CASE:通过此选项,可以控制数据库中取得的数据的字母大小写。具体来 说就是,通过PDO::CASE_UPPER使所有读取的数据字母变为大写,可以通过 PDO::CASE_LOWER使所有读取的数据字母变为小写,可以通过PDO::CASE_NATURL 使用特定的在数据库中发现的字段。 PDO::ATTR_EMULATE_PREPARES:使用此选项可以利用MySQL的请求缓存功能。 PDO:ATTR_ERRMODE:使用此选项定义PDO的错误报告模型。具体的3中模式分别为 PDO::ERRMODE_EXCEPTION例外模式、PDO::ERRMODE_SILENT沉默模式和 PDO::ERRMODE_WARNING警报模式。 PDO::ATTR_ORACLE_NULLS:使用此选项,在使用Oracle数据库时,会把空字符串转 换为NULL值。一般情况下,此选项默认为关闭。 PDO::ATTR_PERSISITENT:使用此选项来确定此数据库的连接是否是可持续,但是其默 认值为false,不启用
PDO操作 MySQL数据库 driver_options是一个数组,它有很多选项 PDO:ATTR PREFETCH此选项确定是否要使用数据库 prefetch功能。此功能是在 用户取得一条记录操作之前就取得多条记录,以准备给下一次请求数据操作提供 数据,并且减少了执行数据库请求的次数,提高了效率 PDO: ATTR TIMEOUT:此选项设置超时时间为多少秒,但是 MySQL不支持此功能。 PDo: DEFAULT FETCH_MoDE:此选项可以设定默认的 fetch模型,是以联合数据 的形式取得数据,或者以数字索引数组的形式取得数据,或者以对象的形式取得 数据
PDO操作MySQL数据库 driver_options是一个数组,它有很多选项: PDO::ATTR_PREFETCH:此选项确定是否要使用数据库prefetch功能。此功能是在 用户取得一条记录操作之前就取得多条记录,以准备给下一次请求数据操作提供 数据,并且减少了执行数据库请求的次数,提高了效率。 PDO::ATTR_TIMEOUT:此选项设置超时时间为多少秒,但是MySQL不支持此功能。 PDO::DEFAULT_FETCH_MODE:此选项可以设定默认的fetch模型,是以联合数据 的形式取得数据,或者以数字索引数组的形式取得数据,或者以对象的形式取得 数据