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 相关文章推荐
PHP的FTP学习(四)
Oct 09 PHP
PHP 的几个配置文件函数
Dec 21 PHP
mysql5详细安装教程
Jan 15 PHP
实用PHP会员权限控制实现原理分析
May 29 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
Aug 21 PHP
简单谈谈PHP vs Node.js
Jul 17 PHP
基于PHPexecl类生成复杂的报表表头示例
Oct 14 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
利用laravel搭建一个迷你博客实战教程
Aug 13 PHP
PHP实现的数组和XML文件相互转换功能示例
Mar 15 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
Aug 30 PHP
PHP判断是否是json字符串
Apr 01 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基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
PHP 中检查或过滤IP地址的实现代码
2011/11/27 PHP
解析dedecms空间迁移步骤详解
2013/05/15 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
js删除所有的cookie的代码
2010/11/25 Javascript
jQuery布局插件UI Layout简介及使用方法
2013/04/03 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
Python pymongo模块用法示例
2018/03/31 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
Python错误处理操作示例
2018/07/18 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
Django 内置权限扩展案例详解
2019/03/04 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
外贸采购员求职的自我评价
2013/11/26 职场文书
2014年三万活动总结
2014/04/26 职场文书
租房协议书范例
2014/10/14 职场文书
违反工作规定检讨书范文
2014/12/14 职场文书
民事二审代理词
2015/05/25 职场文书
详解运行Python的神器Jupyter Notebook
2021/06/03 Python