关于MYSQL预处理技术的一些体会

《关于MYSQL预处理技术的一些体会》要点:
本文介绍了关于MYSQL预处理技术的一些体会,希望对您有用。如果有疑问,可以联系我们。

关于MYSQL预处理技术的一些体会

先来看传统的操作数据库的办法.传统的操作数据库办法有两种:

  1. 先写一条sql语句,然后通过mysqli->query($sql)去操作数据库(笔者此处使用的是mysqli扩展库).这样操作 并不会有什么大的错误,但是当你要插入上千条上万条数据呢?难道也还是要这样写一 条sql语句然后再操作一下数据库?那有人会说,好办嘛,用mysqli自带的操作多条sql语句的办法,即第二种办法.

  2. mysqli->multi_query($sql),这是操作多条sql语句的办法,如下:

关于MYSQL预处理技术的一些体会

如果你认为这样就可以完全办理问题,那么你就错了,让我们接下来看一看MySQL数据库执行sql语句的原理吧

关于MYSQL预处理技术的一些体会

从上图可以看出,无论我们是发送一条sql语句还是发送多条sql语句,数据库都要对其一一的进行编译,那么当数据达到一定量之后,数据库的开销就必然很大.那怎样办理这个问题?此时就引入了预处理技术的概念.

下面我们来看一段预处置技术的代码:

关于MYSQL预处理技术的一些体会

首先我们来看

$sql = "insert into student_info(name,age,sex,studentNo,grade) values (?,?,?)";

  $mysqli_stmt->execute();这句代码便是将数据传递给数据库了.

使用预处置数据查询数据库

代码如下:

关于MYSQL预处理技术的一些体会

关于MYSQL预处理技术的一些体会

可以看出,查询与插入相比多了

关于MYSQL预处理技术的一些体会

这样一句代码,那么这句代码是什么意思呢?

可以想象,查询数据库的时候,数据库必然会返回一个结果集,那么如果你想取得该结果的一些数据,那么就必需加上这句话.那么,这些参数又是什么意思呢?

关于MYSQL预处理技术的一些体会

看看这句sql语句,你会发现bind_result里面的参数一一对应于sql语句当中你要查询的字段(name,age),当然,bind_result里面的参数可以不与sql语句的字段名字相同,但是我们通常保举这样做.

多的不说,上图:

关于MYSQL预处理技术的一些体会

可以这样理解:$name,$sex,$age是引用传递,他们相当于指针,分别指向成果集的第一行的列地址,每执行一次while语句,指针便向下移动

关于MYSQL预处理技术的一些体会

这样,便可以打印出每一行的数据了,成果如下:

关于MYSQL预处理技术的一些体会

同时,那三个封闭别忘记了,重中之重.

《关于MYSQL预处理技术的一些体会》是否对您有启发,欢迎查看更多与《关于MYSQL预处理技术的一些体会》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
> [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...