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 extract 将数组拆分成多个变量的函数
Jun 30 PHP
基于PHP Web开发MVC框架的Smarty使用说明
Apr 19 PHP
浅析PHP绘图技术
Jul 03 PHP
php模拟ping命令(php exec函数的使用方法)
Oct 25 PHP
PHP引用(&amp;)各种使用方法实例详解
Mar 20 PHP
php中count获取多维数组长度的方法
Nov 03 PHP
php获得网站访问统计信息类Compete API用法实例
Apr 02 PHP
CI框架集成Smarty的方法分析
May 17 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
php中的异常和错误浅析
May 03 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
Oct 15 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二分法在IP地址查询中的应用
2008/08/12 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
2015/11/25 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
jQuery操作之效果详解
2017/05/19 jQuery
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
Angular8 简单表单验证的实现示例
2020/06/03 Javascript
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
布同 统计英文单词的个数的python代码
2011/03/13 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
python安装scipy的方法步骤
2019/06/26 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
python实现数字炸弹游戏程序
2020/07/17 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
文明宿舍获奖感言
2014/02/07 职场文书
国防教育标语
2014/10/08 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
自我检讨书范文
2015/01/28 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
2016年社区“6.26”禁毒日宣传活动总结
2016/04/05 职场文书
Mysql - 常用函数 每天积极向上
2021/04/05 MySQL