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 相关文章推荐
基于mysql的论坛(6)
Oct 09 PHP
php db类库进行数据库操作
Mar 19 PHP
逆序二维数组插入一元素的php代码
Jun 08 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 PHP
PHP 实现的将图片转换为TXT
Oct 21 PHP
PHP实现将标点符号正则替换为空格的方法
Aug 09 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
关于php开启错误提示的总结
Sep 24 PHP
laravel http 自定义公共验证和响应的方法
Sep 29 PHP
浅谈laravel中的关联查询with的问题
Oct 10 PHP
PHP基于ip2long实现IP转换整形
Dec 11 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 生成N个不重复的随机数
2015/01/21 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
JavaScript仿微博输入框效果(案例分析)
2016/12/06 Javascript
Three.js基础部分学习
2017/01/08 Javascript
layui导航栏实现代码
2017/05/19 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
[00:59]DOTA2英雄背景故事——上古巨神
2020/06/28 DOTA
Python shelve模块实现解析
2019/08/28 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
Django nginx配置实现过程详解
2020/09/10 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
人力资源管理系自荐信
2014/05/31 职场文书
北京申奥口号
2014/06/19 职场文书
公务员考察材料范文
2014/12/23 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
redis实现共同好友的思路详解
2021/05/26 Redis
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python
Docker安装MySql8并远程访问的实现
2022/07/07 Servers