php中bind_param()函数用法分析


Posted in PHP onMarch 28, 2017

本文实例讲述了php中bind_param()函数用法。分享给大家供大家参考,具体如下:

从字面上不难理解,绑定的参数;下面我通过一个绑定参数的例子讲一下:

for example:

bind_param("sss", firstname,lastname, $email);

1. 该函数绑定了 SQL 的参数,且告诉数据库参数的值。 "sss" 参数列处理其余参数的数据类型。s 字符告诉数据库该参数为字符串。

参数有以下四种类型:

i - integer(整型)
d - double(双精度浮点型)
s - string(字符串)
b - BLOB(布尔值)

每个参数都需要指定类型。

通过告诉数据库参数的数据类型,可以降低 SQL 注入的风险。

2. 上面的firstname,lastname, $email传的是引用,在php5.3之后是不能直接写成字符串的,为了验证这个结论,在此我写了一段测试,如下:

$servername="localhost";
$username="root";
$password="admin";
$dbname="test";
$conn=new mysqli($servername,$username,$password,$dbname);
if($conn->connect_error){
 die("connected failed:".$conn->connect_error);
}
$sql="INSERT INTO user(user_first,user_last,age)VALUES(?,?,?)";
$stmt=$conn->prepare($sql);
$stmt->bind_param("sss","xiao","hong",22);
$stmt->execute();
echo "News records created successfully!";
$stmt->close();
$conn->close();

上面我写了一段将参数直接写成字符串的测试程序,运行之后弹出:

php中bind_param()函数用法分析

最后我将程序改写为如下:

$servername="localhost";
$username="root";
$password="password";
$dbname="test";
$conn=new mysqli($servername,$username,$password,$dbname);
if($conn->connect_error){
   die("Connect failed:".$conn->connect_error);
}
$sql="INSERT INTO user(user_first,user_last,age)VALUES(?,?,?)";
$stmt=$conn->prepare($sql);
$stmt->bind_param("sss",$user_first,$user_last,$age);
$user_first="xiao";
$user_last="hong";
$age=12;
$stmt->execute();
echo "News records created successfully!";
$stmt->close();
$conn->close();

而上面这段程序可以正常执行.

PS:这里再为大家提供一个相关的php函数表供大家查询参考:

php在线函数参考表:
http://tools.3water.com/table/php_fun_table

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
关于Intype一些小问题的解决办法
Mar 28 PHP
PHP 采集获取指定网址的内容
Jan 05 PHP
批量修改RAR文件注释的php代码
Nov 20 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
php中switch与ifelse的效率区别及适用情况分析
Feb 12 PHP
基于PHP实现假装商品限时抢购繁忙的效果
Oct 16 PHP
PHP简单判断字符串是否包含另一个字符串的方法
Mar 25 PHP
laravel 5.3中自定义加密服务的方案详解
May 09 PHP
Laravel ORM 数据model操作教程
Oct 21 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
php实现基于PDO的预处理示例
Mar 28 #PHP
php中str_pad()函数用法分析
Mar 28 #PHP
PHP获取当前日期及本周一是几月几号的方法
Mar 28 #PHP
Redis构建分布式锁
Mar 28 #PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 #PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 #PHP
php中Redis的应用--消息传递
Mar 28 #PHP
You might like
PHP 的几个配置文件函数
2006/12/21 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
2013/08/07 PHP
php不使用插件导出excel的简单方法
2014/03/04 PHP
简单的JS多重继承示例
2008/03/13 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
Nodejs下使用gm圆形裁剪并合成图片的示例
2018/02/22 NodeJs
Node.js中DNS模块学习总结
2018/02/28 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python中list初始化方法示例
2016/09/18 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
中国首家奢侈品O2O网购平台:第五大道奢侈品网
2017/12/14 全球购物
介绍一下MD5加密算法
2016/11/12 面试题
建筑工程实习自我鉴定
2013/09/19 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
拾金不昧感谢信
2015/01/21 职场文书
教师岗位职责
2015/02/03 职场文书
教你部署vue项目到docker
2022/04/05 Vue.js
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python