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中的PHP_EOL换行符详细解析
Oct 26 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
php异常处理方法实例汇总
Jun 24 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
Sep 22 PHP
PHP汉字转换拼音的函数代码
Dec 30 PHP
laravel学习教程之存取器
Jul 30 PHP
简单谈谈PHP中的trait
Feb 25 PHP
php表单习惯用的正则表达式
Oct 11 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
PHP实现字母数字混合验证码功能
Jul 11 PHP
PHP fopen中文文件名乱码问题解决方案
Oct 28 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 $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
JS查看对象功能代码
2008/04/25 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
ES6解构赋值实例详解
2017/10/31 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
2020/02/11 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
从零学python系列之新版本导入httplib模块报ImportError解决方案
2014/05/23 Python
Python生成随机密码
2015/03/10 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
在centos7中分布式部署pyspider
2017/05/03 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
详解Python中的文件操作
2021/01/14 Python
美容院营销方案
2014/03/05 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
学校会议通知范文
2015/04/15 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
Go归并排序算法的实现方法
2022/04/06 Golang
微信小程序实现轮播图指示器
2022/06/25 Javascript