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 相关文章推荐
谈谈PHP语法(2)
Oct 09 PHP
使用PHP数组实现无限分类,不使用数据库,不使用递归.
Dec 09 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 PHP
PHP使用PHPMailer发送邮件的简单使用方法
Nov 12 PHP
php中eval函数的危害与正确禁用方法
Jun 30 PHP
PHP获取数组中重复最多的元素的实现方法
Nov 11 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
Apr 20 PHP
php防止用户重复提交表单
Nov 02 PHP
深入剖析浏览器退出之后php还会继续执行么
May 17 PHP
示例详解Laravel的注册重构
Aug 14 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
laravel 模型查询按照whereIn排序的示例
Oct 16 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
人大复印资料处理程序_查询篇
2006/10/09 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
javascript下function声明一些小结
2007/12/28 Javascript
json格式的时间显示为正常年月日的方法
2013/09/08 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
解析Vue 2.5的Diff算法
2017/11/28 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
python中列表元素连接方法join用法实例
2015/04/07 Python
python简单实现基数排序算法
2015/05/16 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
基于FME使用Python过程图解
2020/05/13 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
汽车专业毕业生自荐信
2013/11/03 职场文书
司机岗位职责
2013/11/15 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA