文档详情

《PHP+MySQL动态网页设计》课件 9.2 创建与使用PDO对象.pptx

发布:2025-02-23约2.79千字共22页下载文档
文本预览下载声明

第9章PHP访问与操作MySQL数据库9.2创建与使用PDO对象

1.创建PDO连接MySQL数据库2.PDO对象中的成员方法3.设置PDO的错误处理模式4.使用PDO执行SQL命令5.在PHP脚本中处理SELECT查询结果集本节内容

1.创建PDO连接MySQL数据库在使用PDO与数据库交互之前,首先需要创建一个PDO对象。在通过构造方法创建对象的同时,需要建立一个与数据库服务器的连接,并选择一个数据库。PDO的构造方法原型如下所示: __construct(stringdsn[,stringusername[,stringpassword[,arraydriver_options]]])

1.创建PDO连接MySQL数据库说明:第一个参数是必选项,指定数据源名(DSN),用来定义一个确定的数据库和必须用到的驱动程序。DSN的内容一般包括:PDO驱动程序的名称+冒号“:”+可选的驱动程序的数据库连接变量信息(主机名、端口、数据库名等)。连接MySQL服务器的DSN的示例如下所示: mysql:host=localhost;dbname=stuInfo以上DSN中mysql是驱动前缀,mysql前面不能有空格、且只能全部为小写字母,否则提示“找不到驱动程序”;dbname是选择数据库。

1.创建PDO连接MySQL数据库示例9-2:创建PDO对象连接MySQL服务器。

1.创建PDO连接MySQL数据库示例9-3:创建PDO对象连接MySQL服务器,使用连接选项创建持久连接。

2.PDO对象中的成员方法当PDO对象创建成功以后,与数据库的连接已经建立,就可以使用该对象了。PHP与数据库服务器之间的交互都是通过PDO对象中的成员方法实现的。该对象中的成员方法如下表所示。

2.PDO对象中的成员方法另外,如果在创建数据表时指定表字符集为UTF-8,但没有指定MySQL客户程序与服务器通信时使用的字符集也是UTF-8的话,那么通过MySQL客户程序查询并返回的表的数据中,中文字符可能会以乱码进行显示。因此,通常需要通过SQL命令来指定其字符集为UTF-8。假设$link是一个已创建的PDO对象,设置字符集为UTF-8的代码如下: $link-exec(setnamesutf8); 或 $link-query(setnamesutf8);

3.设置PDO的错误处理模式PDO共提供了三种不同的错误处理模式,不仅可以满足不同风格的编程,也可以调整扩展处理错误的方式。

3.1PDO::ERRMODE_SILENT这是默认的错误处理模式,当错误发生时不进行任何操作,PDO将只设置错误代码。开发人员可以通过PDO对象中的errorCode()和errorInfo()方法对语句和数据库对象进行检查。该模式的设置方式如下:$link-setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT);

3.2PDO::ERRMODE_WARNING这是设置警告模式处理错误报告,当错误发生时,PDO将发出一条PHP传统的E_WARNING消息,可以使用常规的PHP错误处理程序(例如,try…catch语句)捕获该警告。该模式的设置方式如下:$link-setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);

3.3PDO::ERRMODE_EXCEPTION这是设置抛出异常模式处理错误报告,当错误发生时,PDO将抛出一个PDOException,并设置其属性,以反映错误代码和错误信息。抛出异常模式与传统的PHP风格的警告相比,可以更清晰地构造自己的错误处理。该模式的设置方式如下:$link-setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

4.使用PDO执行SQL命令在使用PDO执行SQL语句之前,首先需要提供一个数据库。我们使用第8章中创建的stuInfo数据库,使用到其中的以下两张数据表:班级信息表:department(id,deptNo,deptName)学生信息表:student(id,sNo,sName,sex,birthday,dept_id,remark)说明:student表通过字段dept_id与department表的字段id建立了外键约束。

4.1PDO::exec()方法当执行INSERT、UPDATE和DELETE等没有有结果集的SQL语句时,使用PDO对象中的exec()方法去执行。该方法执行成功后,将返回受影响的行数。

4.1PDO::exec()方法示例9-

显示全部
相似文档