php+mysqli预处理技术实现添加、修改及删除多条数据的方法


Posted in PHP onJanuary 30, 2015

本文实例讲述了php+mysqli预处理技术实现添加、修改及删除多条数据的方法。分享给大家供大家参考。具体分析如下:

首先来说说为什么要有预处理(预编译)技术?举个例子:假设要向数据库添加100个用户,按常规思路,就是向数据库发送100个执行请求,此时,按照 mysql 数据库的工作原理,它需要对每一条执行语句进行编译(这里就有100次)。所以,这里的效率是非常低的。

预处理(预编译)技术的作用,就是减少编译的次数和时间,以提高效果。通过一个案例来说明,预处理(预编译)技术是如何做到的(好吧,先说清楚,当 php 程序第一次发送 sql 语句时,mysql 数据库就编译好,到了后面99次,php只要发送数据过去即可,不需要再进行编译)。

<?php
//1、创建数据库连接对象
$mysqli = new MySQLi("localhost","root","123456","liuyan");
if($mysqli->connect_error){
 die($mysqli->connect_error);
}
$mysqli->query("set names 'GBK'");
//2、创建预编译对象
$sql = "insert into account(id,balance) values(?,?)";
//这里用 ? 来代替要插入的数据值
$stmt = $mysqli->prepare($sql);
//返回一个statement对象,对象中的方法见手册 MySQLi_STMT
//3、绑定参数(需要插入的数据),并执行
$id=null;//这里我数据库设置成了 primary key auto_increment
$balance=100.5;
$stmt->bind_param("id",$id,$balance);
//绑定参数,返回值为布尔值。"if"按顺序代表插入数据的数据类型
//这里$id为int,用i表示,$balance为float型,用d表示,具体见手册
$res = $stmt->execute();//执行语句,返回值为布尔类型
//4、判断是否执行成功
if(!$res){
 echo "数据插入失败,balance值为:".$balance;
}else{
 echo "成功";
}

/*
*****插入第二条数据
*/
//3、绑定参数(需要插入的数据),并执行
$id=null;//这里我数据库设置成了 primary key auto_increment
$balance=400.3;
$stmt->bind_param("id",$id,$balance);
//绑定参数,返回值为布尔值。"if"按顺序代表插入数据的数据类型
//这里$id为int,用i表示,$balance为float型,用d表示。
$res = $stmt->execute();//执行语句,返回值为布尔类型
//4、判断是否执行成功
if(!$res){
 echo "数据插入失败,balance值为:".$balance;
}else{
 echo "成功";
}
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
一个数据采集类
Feb 14 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
Jul 20 PHP
php实现单链表的实例代码
Mar 22 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
fckeditor上传文件按日期存放及重命名方法
May 22 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
Symfony2创建页面实例详解
Mar 18 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
php socket通信简单实现
Nov 18 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
Aug 15 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 #PHP
PHP速成大法
Jan 30 #PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 #PHP
PHP制作百度词典查词采集器
Jan 29 #PHP
php+mysqli事务控制实现银行转账实例
Jan 29 #PHP
php+mysqli批量查询多张表数据的方法
Jan 29 #PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
Jan 29 #PHP
You might like
ThinkPHP的L方法使用简介
2014/06/18 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
使用tensorflow根据输入更改tensor shape
2020/06/23 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
Jacques Lemans德国:奥地利钟表品牌
2019/12/26 全球购物
在求职信中如何凸显个人优势
2013/10/30 职场文书
党校培训自我鉴定范文
2014/03/20 职场文书
大学生毕业求职信
2014/06/12 职场文书
好的促销活动方案
2014/08/21 职场文书
教师读书活动心得体会
2016/01/14 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python