mysql扩展库 老掉牙了

查询数据库

接受一个表名,然后把表的头和记录显示在网页

获取行数据的方法:

  • mysql_fetch_row($res) ,返回一个索引的数组 (推荐.)
  • mysql_fetch_assoc($res) ,返回一个关联数组
  • mysql_fetch_array($res) ,返回索引数组和关联数组 (两套)
  • mysql_fetch_object($res) ,把一行数据,当做一个对象返回.

增删改

将数据库连接封装到类中

mysqli扩展库 中流砥柱

mysql 扩展库 和 mysqli 扩展库的比较

  1. mysqli 的稳定性和安全性,效率有所提高
  2. mysqi 支持面向对象编程 ,同时 mysqli 扩展库考虑到php老程序员,提供面向过程的编程风格.

mysqli实现查询数据库 面向对象

mysqli实现查询数据库 面向过程

获取与释放结果集

获取mysqli result结果集 前两种效率较高

面向对象 面向过程
mysqli_result::fetch_assoc mysql_fetch_assoc
mysqli_result::fetch_row mysql_fetch_row
mysqli_result::fetch_array mysql_fetch_array
mysqli_result::fetch_object mysql_fetch_object

在mysqli释放结果集有三种方式:

  • void mysqli_result::free ( void )
  • void mysqli_result::close ( void )
  • void mysqli_result::free_result ( void )

mysqli的增强 批量执行sql语句

基本语法

一次添加多个用户:

批量执行dml语句可以混合使用 delete insert update,但是最好不要使用select批量执行 dql语句,它的作用是可以一次性的取回多个结果集

一次性查询并显示user表的结构 user表中用户信息:

mysql事务

基本:事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。如:网上转账就是典型的要用事务来处理,用以保证数据的一致性

事务的acid特性:原子性,一致性,持久性,隔离性.

mysqli运用事务:

mysqli扩展库增强 预处理技术

预处理语句用于执行多个相同的 SQL 语句,并且执行效率更高。

相比于直接执行SQL语句,预处理的优点:

  • 预处理语句大大减少了分析时间,只做了一次查询(虽然语句多次执行)
  • 绑定参数减少了服务器带宽,你只需要发送查询的参数,而不是整个语句
  • 预处理语句针对SQL注入是非常有用的,因为 参数值发送后使用不同的协议,保证了数据的合法性

使用预处理添加三个用户:

使用预处理方法根据条件查询

pdo 未来之星

pdo连接数据库

获取结果集

获取结果集3种方式

  1. fecth() 获取结果集的下一行
  2. fetchAll() 获取结果集的所有行
  3. fetchColumn() 获取结果集下一行指定列的值

pdo显示数据库数据 3种方法演示:

pdo中捕获sql语句中的错误

  1. 使用默认模式–PDO::ERRMODE_SILENT
    PDOStatement的errorCode属性 不进行其他任何操作 errorCode() 获取错误代码 errorInfo() 获取错误信息
  2. 使用警告模式–PDO::ERRMODE_WARNING
    设为警告模式:$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); 除非明确检查错误代码,否则仍按其方式进行
  3. 使用异常模式–PDO::ERRMODE_EXCEPTION
    设为异常模式:$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    可将代码封装到一个try..catch中,未捕获的异常将导致代码中断

pdo中事务处理

  • 开启事务 beginTransaction()
  • 提交事务 commit() 成功返回true,失败返回false
  • 回滚事务 rollBack()

pdo运用事务:

分类: 后端

发表评论

电子邮件地址不会被公开。 必填项已用*标注