分享下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.操作方式大体和 ...
随机推荐
- Atitit. 木马病毒的外部class自动加载机制------加载class的方法总结
Atitit. 木马病毒的外部class自动加载机制------加载class的方法总结 Atitit.java load class methods 1. 动态加载jar文件和class文件. 1 ...
- 用lua nginx module搭建一个二维码
用lua nginx module搭建一个二维码(qr code)生成器 作者 vinoca 發布於 2014年10月31日 如果有VPS,或者开源的路由器,安装一个nginx,添加lua-nginx ...
- Ocelot + IdentityServer4 坑自己
现像是 connect/userinfo 可以访问 但是api都提示401 后面发现是在appsettings.json "Options": {"Authority&q ...
- NGINX date_udf 定义日志
Nginx日志自动按日期存储 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,因它的稳定性 ...
- Encourage_by_WeChat
- 第一百九十六节,jQuery EasyUI,Tooltip(提示框)组件
jQuery EasyUI,Tooltip(提示框)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Tooltip(提示框)组件的使用方法, ...
- 对asp.net缓存 的深入了解
一.缓存概念,缓存的好处.类型.-------------------------------------------------------------------------------- ...
- 防火墙系列之firewall
firewalld 介绍 防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口.它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (com ...
- cocos2d-x学习日志(18) --程序是怎样開始执行与结束?
问题的由来 怎么样使用 Cocos2d-x 高速开发游戏.方法非常easy,你能够看看其自带的例程,或者从网上搜索教程,执行起第一个HelloWorld,然后在 HelloWorld 里面写相关逻辑代 ...
- Native VLAN打上标记
802.1Q和ISL都知道两者的区别在于前者对native vlan的流量不打标记,而后者统一都打标记. 配置成Native VLAN的Trunk端口,收到Native VLAN的帧后,不打标记直接从 ...