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
E路文章系统PHP
Dec 11 PHP
FleaPHP的安全设置方法
Sep 15 PHP
PHP实现定时生成HTML网站首页实例代码
Nov 20 PHP
PHP 单引号与双引号的区别
Nov 24 PHP
php判断变量类型常用方法
Apr 24 PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
PHP实现生成透明背景的PNG缩略图函数分享
Jul 08 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
如何使用微信公众平台开发模式实现多客服
Jan 06 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中的HashTable结构详解
2013/06/13 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
Zend Framework教程之模型Model用法简单实例
2016/03/04 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
新浪的图片新闻效果
2007/01/13 Javascript
javascript 变量作用域 代码分析
2009/06/26 Javascript
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
JavaScript事件 &quot;事件对象&quot;的注意要点
2016/01/14 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
2017/03/10 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
python查找指定具有相同内容文件的方法
2015/06/28 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Python中的asyncio代码详解
2019/06/10 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
python中操作文件的模块的方法总结
2021/02/04 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
Clarks西班牙官方在线商店:clarks鞋
2019/05/03 全球购物
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
基层干部十八大感言
2014/01/19 职场文书
岗位聘任书范文
2014/03/29 职场文书
测绘工程专业求职信
2014/07/15 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
财务出纳岗位职责
2015/03/31 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python