PHP5中使用mysqli的prepare操作数据库的介绍


Posted in PHP onMarch 18, 2019

php5中有了mysqli对prepare的支持,对于大访问量的网站是很有好处的,极大地降低了系统开销,而且保证了创建查询的稳定性和安全性。

PHP5.0后我们可以使用mysqli,mysqli对prepare的支持对于大访问量的网站是很有好处的,特别是事务的支持,在大查询量的时候将极大地降低了系统开销,而且保证了创建查询的稳定性和安全性,能有效地防止SQL注入攻击。

prepare准备语句分为绑定参数和绑定结果两种。接下来具体介绍。

1、绑定参数

看下面php代码:

<?php 
//创建连接 
$mysqli=new mysqli("localhost","root","","123456"); 
//检查连接是否被创建 
if (mysqli_connect_errno()) { 
 printf("Connect failed: %s\n", mysqli_connect_error()); 
 exit(); 
}
/** 
 * 创建一个准备查询语句: 
 * ?是个通配符,可以用在任何有文字的数据 
 * 相当于一个模板,也就是预备sql语句 
 */ 
if ($stmt = $mysqli->prepare("insert into `codetc_msg`(mid,content) values(?,?)")){ 
 /**
 * 第一个参数是绑定类型,"is"是指上面SQL语句中第一个?参数是int类型,第二个?参数是string类型 
 * 其中i指int,s指string, 除了i、s之外还有d代表双精度浮点型,b代表blod类型等
 */ 
 $stmt->bind_param("is",$id,$content); 
 //给变量赋值 
 $id = 1; 
 $content = "这是插入的内容"; 
 //执行准备语句 
 $stmt->execute(); 
 //显示插入的影响行数
 echo "Row inserted".$stmt->affected_rows; 
 //关闭数据库的链接 
 $mysqli->close(); 
} 
?>

2、绑定结果:绑定结果就是将你绑定的字段给php变量,以便必要时使用这些变量

请看下面的php代码: 

<?php 
//创建连接 
$mysqli=new mysqli("localhost","root","","123456"); 
//设置mysqli编码 
mysqli_query($mysqli,"SET NAMES utf8"); 
//检查连接是否被创建 
if (mysqli_connect_errno()) { 
 printf("Connect failed: %s\n", mysqli_connect_error()); 
 exit(); 
} 
//创建准备语句 
if ($stmt = $mysqli->prepare("select mid,content from `codetc_msg`")){ 
 //执行查询 
 $stmt->execute(); 
 //为准备语句绑定实际变量 
 $stmt->bind_result($id,$content); 
 //显示绑定结果的变量 
 while($stmt->fetch()){ 
 echo "第".$id."条: ".$content."<br>"; 
 } 
 //关闭数据库的链接 
 $mysqli->close(); 
} 
?>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
PHP函数utf8转gb2312编码
Dec 21 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
PHP实现的购物车类实例
Jun 17 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
Feb 17 PHP
如何用PHP做到页面注册审核
Mar 02 PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
Jul 03 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
php+ajax 文件上传代码实例
Mar 18 #PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 #PHP
详解php中curl返回false的解决办法
Mar 18 #PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 #PHP
PHP自动生成缩略图函数的源码示例
Mar 18 #PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 #PHP
PHP实现对数字分隔加千分号的方法
Mar 18 #PHP
You might like
简单的PHP图片上传程序
2008/03/27 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
基于jQuery的日期选择控件
2009/10/27 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
2015/06/19 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
jQuery无缝轮播图代码
2016/12/22 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
node中的密码安全(加密)
2018/09/17 Javascript
Python自定义主从分布式架构实例分析
2016/09/19 Python
python在ubuntu中的几种安装方法(小结)
2017/12/08 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
使用matplotlib画散点图的方法
2018/05/25 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
Python datetime 如何处理时区信息
2020/09/02 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
奥地利领先的在线药房:SHOP APOTHEKE
2019/10/07 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
美国鲜花递送:UrbanStems
2021/01/04 全球购物
医疗器械售后服务承诺书
2014/05/21 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
小程序自定义轮播图圆点组件
2022/06/25 Javascript