PHP程序设计课件 第6单元 PHP操作数据库.pptx
PHP操作数据库第六单元
知识目标了解数据库的基本概念理解如何使用mysqli扩展与数据库进行交互理解如何使用PDO扩展与数据库进行交互理解如何使用预处理语句单元6PHP操作数据库能力目标能够根据应用需求设计合理的数据库结构能够使用PHP实现对数据库的增删改查操作能够使用预处理语句防范SQL注入攻击素质目标培养学生数据安全意识培养学生自主的学习能力和独立的思维方式
记录中华文明各个朝代及相互关系情景引入
PHP操作数据库结果页面记录中华文明各个朝代及相互关系本单元我们练习在MySQL数据库中记录中华文明各个朝代及相互关系,并利用PHP的数据库操作功能制作展示页面。
Mysqli扩展访问数据库与解析结果集任务6.1
6.1.1配置mysqlimysqli扩展是mysql扩展的改进版,它采用面向对象的方式,同时兼容面向过程的方式。mysqliMysgllSupportenabledClientAPilibraryversionmysqind7.429ActivePersistentLinks0InuctivePersistentLinks0ActiveLinks0查看mysqli扩展开启情况
mysqli扩展常用API6.1.2mysqli扩展常用API面向过程风格的函数面向对象风格的方法说明mysqli_connect()mysqli::__construct()建立MySQL数据库连接。连接成功返回mysqli的实例,失败返回falsemysqli_query()mysqli::query()执行SQL语句。如果成功执行select,show,describe或者explain语句将返回mysqli_result的实例,其他SQL语句将根据执行结果,成功返回true,失败返回falsemysqli_close()mysqli::close()释放数连接。执行结果成功返回true,失败返回falsemysqli_prepare()mysqli::prepare()对SQL语句进行预处理。执行成功返回mysqli_stmt的实例,失败返回falsemysqli_fetch_row()mysqli_result::fetch_row()以索引数组返回mysqli_result中下一条没有访问的记录mysqli_fetch_assoc()mysqli_result::fetch_assoc()以关联数组返回mysqli_result中下一条没有访问的记录mysqli_fetch_array()mysqli_result::fetch_array()以指定数组返回mysqli_result中下一条没有访问的记录,可以是索引数组、关联数组或者两者混合mysqli_fetch_object()mysqli_result::fetch_object()以object返回mysqli_result中下一条没有访问的记录mysqli_free_result()mysqli_result::free_result()释放mysql_result占用的内存mysqli_stmt_bind_param()mysqli_stmt::bind_param()mysqli_stmt实例中的占位符绑定值mysqli_stmt_execute()mysqli_stmt::execute()执行预处理语句mysqli_stmt_get_result()mysqli_stmt::get_result()返回结果集
4步分解mysqli扩展操作数据库建立连接1执行SQL语句2解析结果集3释放资源4
6.1.3数据库操作步骤 建立连接执行SQL语句解析结果集释放资源使用mysqli_connect()函数建立与MySQL数据库的连接。该函数通常需要传入4个参数:数据库域名或IP、数据库用户名、数据库密码和要访问的数据库名。通过mysqli_query()函数执行SQL语句并发送到数据库进行处理。该函数第一个参数是mysqli连接对象,第二个参数是需要执行的SQL语句。函数的参数包括数据库连接对象和要执行的SQL语句。对于SELECT查询,可以使用mysqli_result对象的方法(如fetch_assoc()、fetch_row()等)来获取结果集中的数据。在操作过程中,要释放mysqli对象和mysqli_result对象所占用的资源。
6.1.4面向过程风格操作数据库使用mysqli扩展,按照面向过程风格的方式操作数据库。字段名类型约束说明dyna_idint主键、自增长朝代主键dyna_namevarchar(32)非空朝代名prev_dyna_idint?前朝主键
6.1.4面向过程风格操作数据库实现表的清空功能和记录的添加功