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 相关文章推荐
资料注册后发信小技巧
Oct 09 PHP
深入array multisort排序原理的详解
Jun 18 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
php实现MD5加密16位(不要默认的32位)
Aug 12 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
简单谈谈PHP vs Node.js
Jul 17 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
Yii框架参数配置文件params用法实例分析
Sep 11 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
PHP扩展类型及安装方式解析
Apr 27 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
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
PHP代码审核的详细介绍
2013/06/13 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
javascript 常用方法总结
2009/06/03 Javascript
jQuery Ajax文件上传(php)
2009/06/16 Javascript
javascript 写类方式之三
2009/07/05 Javascript
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
拖动布局之保存布局页面cookies篇
2010/10/29 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
2020/12/08 Vue.js
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
软件测试有哪些?什么是配置项?
2012/02/12 面试题
酒鬼酒广告词
2014/03/21 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
教师工作失职检讨书
2014/09/18 职场文书
个人作风建设总结
2014/10/23 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
交通事故调解协议书
2015/05/20 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书