分享下php使用mysqli扩展库进行预处理操作的二个例子,有意研究mysqli用法的朋友,可以参考学习下,一定会有所帮助的。
例1、使用mysqli扩展库的预处理技术 mysqli stmt 向数据库添加3个用户
04 |
$mysqli = new MySQLi("localhost","root","root","test"); |
05 |
if($mysqli->connect_error){ |
06 |
die($mysqli->conncet_error); |
09 |
$sql="insert into user1(name,password,email,age) values(?,?,?,?)"; |
10 |
$mysqli_stmt=$mysqli->prepare($sql); |
14 |
//$password=md5("ffff"); |
16 |
$email="xiaofang@jbxue.com"; |
19 |
//参数绑定->给?号赋值 这里类型和顺序要一致 |
20 |
$mysqli_stmt->bind_param("sssi",$name,$password,$email,$age); |
23 |
$b=$mysqli_stmt->execute(); |
28 |
$email="xiaoyang@jbxue.com"; |
31 |
//参数绑定->给?号赋值 这里类型和顺序要一致 |
32 |
$mysqli_stmt->bind_param("sssi",$name,$password,$email,$age); |
35 |
$b=$mysqli_stmt->execute(); |
41 |
$email="xiaoG@jbxue.com"; |
44 |
//参数绑定->给?号赋值 这里类型和顺序要一致 |
45 |
$mysqli_stmt->bind_param("sssi",$name,$password,$email,$age); |
48 |
$b=$mysqli_stmt->execute(); |
51 |
echo "操作失败".$mysqli_stmt->error; |
56 |
$mysqli_stmt->close(); |
例2、使用预处理查询id>5的用户id name email
02 |
//使用预处理查询id>5的用户id name email |
03 |
$mysqli=new MySQLi("localhost","root","root","test"); |
04 |
if($mysqli->connect_error){ |
05 |
die($mysqli->connect_error); |
09 |
$sql="select id,name,email from user1 where id>?"; |
10 |
$mysqli_stmt=$mysqli->prepare($sql); |
14 |
$mysqli_stmt->bind_param("i",$id); |
16 |
$mysqli_stmt->bind_result($id,$name,$email); |
18 |
$mysqli_stmt->execute(); |
21 |
while($mysqli_stmt->fetch()){ |
22 |
echo "<br/>$id--$name--$email"; |
27 |
$mysqli_stmt->free_result(); |
29 |
$mysqli_stmt->close(); |
本文出处参考:http://www.jbxue.com/article/11825.html
- 【小结】有关mysql扩展库和mysqli扩展库的crud操作封装
现阶段php如果要操作mysql数据库 php给我们提供了3套库 1.mysql扩展库 面向过程操作 2.mysqli扩展库 面向对象操作和面向过程操作并存 安全性和效率高于mysql扩展库 ...
- PHP mysqli 扩展库(面向对象/数据库操作封装/事务控制/预编译)
1.和mysql扩展库的区别: (1 安全性.稳定性更高 (2 提供了面向对象和面向过程两种风格 2.php.ini 中的 extension=php_mysqli.dll 解除封印 3.面 ...
- mysqli扩展库的预处理技术 mysqli stmt
//预编译演示 //1,创建mysqli对象 $mysqli=new mysqli("localhost","root",""," ...
- mysqli扩展库的 预处理技术 mysqli stmt
问题的提出? 现在需要向mysql数据库添加100个用户,请问如何实现? 思路: 使用for循环100次,向数据库中添加100个用户. 使用批量添加 $sql1=”insert xxx”; $ssql ...
- mysqli 扩展库的预处理技术(mysqli_stmt)
提出问题 现在需要向mysql数据库中添加100个用户,请问如何实现? 方法一:for循环100次 方法二:使用批量添加 $sqls="insert xxx"; $sqls.=&q ...
- mysqli扩展库的预处理
预处理的特点:1.效率高,执行速度快 2.安全性高,可以防止sql注入 $mysqli 中的函数 $stmt=$mysqli->prepare($sql); 预备一条s ...
- mysqli扩展库操作mysql数据库
配置环境 配置php.ini文件让php支持mysqli扩展库 extension=php_mysqli.dll 建库建表 详见博客 “mysql扩展库操作mysql数据库” 查询数据库 <?p ...
- 使用php的mysqli扩展库操作mysql数据库
简单介绍mysqli: 1.mysqli(mysql improve mysql扩展库的增强版) mysql扩展库和mysqli扩展库的区别 1.mysqli的稳定性 安全性 和 执行效率有所提高 ...
- PHP使用mysqli扩展库实现增删改查(面向对象版)
mysqli扩展库是mysql扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli.操作方式大体和 ...
随机推荐
- MVC 实现表格数据导出Excel(NPOI方式)
前端View(@ViewBag为查询条件): <span id="exprobtn" class="btn_blue" style="dispa ...
- 迁移TFS 2012服务至新的电脑硬件
迁移TFS 2012的时候碰到一些问题, 中文记录很少, 英文的记录也比较零散. 这里记录最直接和简单的方法. 环境: 1. 公司域环境, 所有TFS用户都是公司域帐户. 2. TFS从一台服务器转移 ...
- java.lang.NoClassDefFoundError: org/junit/rules/TestRule
错误原因:通过定位发现是找不到TestRule这个类,检查项目引用的Junit版本为4.7,发现TestRule是在Junit版本4.10后添加的新特性 解决方法:把junit版本由4.7改成4.10
- lcd中像素深度bpp和像素格式(比如RGB,YUV)的关系
像素深度(bits per pixel,简称bpp) 一个像素的颜色在计算机中由多少个字节数据来描述.计算机中用二进制位来表示一个像素的数据,用来表示一个像素的数据位越多,则这个像素的颜色值更加丰富. ...
- SpringBoot对比传统开发以及自身的优缺点
SpringBoot是伴随着Spring4.0诞生的,继承了Spring的优点,一经推出,引起了巨大的反向:目前Spring Boot的版本为2.1.0,需要Java7及Spring Framewor ...
- 面向Internet的编程
面向Internet的编程 1994年秋天我返回工作时,这个公司的景象已经完全改变.他们决定Oak语言——跨平台的.安全的.易传输的代码——时理想的面向Internet的语言.同时他们在制作名为Web ...
- sqoop1.99.3配置过程
感谢:http://www.myexception.cn/database/1600202.html 官网配置指导:http://sqoop.apache.org/docs/1.99.3/Instal ...
- hdu 1078 FatMouse and Cheese【dp】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1078 题意:每次仅仅能走 横着或竖着的 1~k 个格子.求最多能吃到的奶酪. 代码: #include ...
- WPF-Binding的源
1. 绑定到其它元素 <Grid> <StackPanel> <TextBox x:Name="textbox1" /> <Label C ...
- Unity3D学习笔记——NGUI之UIPopupList
UIPopupList:将这个组件添加到Button上,即可构建一个下拉列表. 效果图如下: 一:使用步骤 1.首先创建一个Sprite作为button. 2.创建一个label,用于显示当前选择的选 ...