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 相关文章推荐
用函数读出数据表内容放入二维数组
Oct 09 PHP
在php MYSQL中插入当前时间
Apr 06 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
php计算多维数组中所有值总和的方法
Jun 24 PHP
微信公众平台开发之配置与请求
Aug 26 PHP
详解PHP对数组的定义以及数组的创建方法
Nov 27 PHP
php分页查询mysql结果的base64处理方法示例
May 18 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 PHP
PHP笛卡尔积实现原理及代码实例
Dec 09 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中ini_set和ini_get函数的用法小结
2014/02/18 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
2011/06/08 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
jQuery提交多个表单的小例子
2013/06/30 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
2017/12/25 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
python openpyxl模块的使用详解
2021/02/25 Python
物流专业毕业生推荐信范文
2013/11/18 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
幼儿园教师个人反思
2014/01/30 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
官僚主义现象查摆问题整改措施
2014/10/04 职场文书
劳动模范获奖感言
2015/07/31 职场文书
Python time库的时间时钟处理
2021/05/02 Python