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与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
php将字符串转化成date存入数据库的两种方式
Apr 28 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
PHP实现从远程下载文件的方法
Mar 12 PHP
PHP curl使用实例
Jul 02 PHP
详解EventDispatcher事件分发组件
Dec 25 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
Oct 15 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
Mar 03 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 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
PR值查询 | PageRank 查询
2006/12/20 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
linux中cd命令使用详解
2015/01/08 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
PHP实现倒计时功能
2020/11/16 PHP
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
JavaScript中的关联数组问题
2015/03/04 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
Vue 组件间的样式冲突污染
2017/08/31 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
python重试装饰器示例
2014/02/11 Python
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
Python实现最大子序和的方法示例
2019/07/05 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
大客户销售经理职责
2013/12/04 职场文书
实习老师离校感言
2014/02/03 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
合作合同协议书范本
2015/01/27 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书