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 中的类
Oct 09 PHP
用文本文件制作留言板提示(下)
Oct 09 PHP
如何使用php判断所处服务器操作系统的类型
Jun 20 PHP
解析php中获取url与物理路径的总结
Jun 21 PHP
使用dump函数,给php加断点测试
Jun 25 PHP
php创建sprite
Feb 11 PHP
php无限遍历目录示例
Feb 21 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
PHP图片处理之图片背景、画布操作
Nov 19 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
thinkphp分页实现效果
Oct 13 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
Sep 26 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
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
php实现每日签到功能
2018/11/29 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
jQuery实现当按下回车键时绑定点击事件
2014/01/28 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
JavaScript声明变量时为什么要加var关键字
2014/09/29 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
JavaScript实现多个重叠层点击切换效果的方法
2015/04/24 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
JavaScript实现密码强度实时验证
2020/03/18 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
总结Python中逻辑运算符的使用
2015/05/13 Python
python实现剪切功能
2019/01/23 Python
python实现手机销售管理系统
2019/03/19 Python
python中import与from方法总结(推荐)
2019/03/21 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
HTML5超文本标记语言的实现方法
2020/09/24 HTML / CSS
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
ORACLE十问
2015/04/20 面试题
IBatis持久层技术
2016/07/18 面试题
歌唱比赛获奖感言
2014/01/21 职场文书
大学生秋游活动方案
2014/02/17 职场文书
家长学校工作方案
2014/05/07 职场文书
环保志愿者活动方案
2014/08/14 职场文书
代领报检证委托书范本
2014/10/11 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
小学生表扬稿范文
2015/05/05 职场文书