加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2020-12-12 03:08:51 所属栏目:MySql教程 来源:网络整理
导读:《关于MYSQL预处理技术的一些体会》要点: 本文介绍了关于MYSQL预处理技术的一些体会,希望对您有用。如果有疑问,可以联系我们。 关于MYSQL预处理技术的一些体会 先来看传统的操作数据库的办法.传统的操作数据库办法有两种: 先写一条sql语句,然后通过 mysq

《关于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学院为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读