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实现分页的一个示例
Oct 09 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 PHP
PHP使用静态方法的几个注意事项
Sep 16 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
Dec 11 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
May 31 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
php实现水印文字和缩略图的方法示例
Dec 29 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
PHP CURL使用详解
Mar 21 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
全国FM电台频率大全 - 28 甘肃省
2020/03/11 无线电
Jquery中获取iframe的代码
2011/01/11 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
2013/11/28 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
简单实现Bootstrap标签页
2020/08/09 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
Vue.js特性Scoped Slots的浅析
2019/02/20 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
编写简单的Python程序来判断文本的语种
2015/04/07 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
python ---lambda匿名函数介绍
2019/03/13 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
python3中利用filter函数输出小于某个数的所有回文数实例
2019/11/24 Python
如何基于python实现脚本加密
2019/12/28 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
2021/02/24 HTML / CSS
详解如何将 Canvas 绘制过程转为视频
2021/01/25 HTML / CSS
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
机关党员公开承诺书
2014/08/30 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
Python3.8官网文档之类的基础语法阅读
2021/09/04 Python
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers