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 相关文章推荐
一个可以删除字符串中HTML标记的PHP函数
Oct 09 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
destoon二次开发入门示例
Jun 20 PHP
PHP获取表单所有复选框的值的方法
Aug 28 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
Nov 04 PHP
大家都应该掌握的PHP关联数组使用技巧
Dec 25 PHP
php函数传值的引用传递注意事项分析
Jun 25 PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
利用php-cli和任务计划实现刷新token功能的方法
May 03 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 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
DC动漫人物排行
2020/03/03 欧美动漫
在Windows中安装Apache2和PHP4的权威指南
2006/10/09 PHP
PHP 和 MySQL 基础教程(四)
2006/10/09 PHP
ThinkPHP3.1之D方法实例详解
2014/06/20 PHP
smarty中js的调用方法示例
2014/10/27 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
2017/02/28 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
Python中操作MySQL入门实例
2015/02/08 Python
python实现飞机大战游戏
2020/10/26 Python
django迁移文件migrations的实现
2020/03/31 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
六一儿童节演讲稿
2014/05/23 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
谢师宴邀请函
2015/02/02 职场文书
未中标通知书
2015/04/17 职场文书
大学运动会通讯稿
2015/07/18 职场文书