语句相关论文范例,与mysqli预处理语句的技术相关毕业论文模板
本论文是一篇语句相关毕业论文模板,关于mysqli预处理语句的技术相关毕业论文提纲范文。免费优秀的关于语句及数据库及信息工程系方面论文范文资料,适合语句论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
摘 要
PHP5中的mysqli预处理语句可以有效的提高参数化SQL查询语句重复执行的效率,而且速度快,稳定性好,安全性高.本文详细分析了mysqli扩展中预处理语句的优点,并结合实例,详细阐述了mysqli预处理语句操作MySQL数据库的实现方法.
【关 键 词】面向对象mysqli预处理语句SQL注入
mysqli是PHP5的扩展模块,它被封装为一个类,是一种面向对象的技术.mysqli扩展不仅支持mysql扩展的所有功能,而且增加了一些新特性.mysqli扩展模块包括三个类,分别是mysqli、mysqli_result和mysqli_stmt.其中mysqli_stmt是实现mysqli预处理语句的核心类.mysqli预处理语句的优势明显,例如执行效率高,安全性能好等.
1预处理语句的简述
mysqli预处理语句就是将结构相同的SQL语句向MySQL服务器发送一次,服务器对该命令只分析一次,之后,可以用不同的参数,多次执行.这种方法不仅减少了传输的数据量,而且还提高了SQL语句的处理效率.
2mysqli预处理语句的实施步骤
有关论文范文主题研究: | 关于语句的论文范本 | 大学生适用: | 专升本论文、学术论文 |
---|---|---|---|
相关参考文献下载数量: | 86 | 写作解决问题: | 怎么写 |
毕业论文开题报告: | 论文提纲、论文选题 | 职称论文适用: | 核心期刊、职称评副高 |
所属大学生专业类别: | 怎么写 | 论文题目推荐度: | 免费选题 |
2.1创建预处理语句对象
使用mysqli_stmt类的prepare()方法,在创建mysqli_stmt类的对象的同时,准备好要执行的预处理语句.预处理语句中每个参数都是用占位符“?”替换的,并存储在MySQL服务器上等待执行.
2.2绑定参数
准备好预处理语句之后,使用bind_param()方法把预处理语句中用占位符“?”替换的参数与PHP变量绑定.bind_param()方法的第一个参数是由特定字符组成的字符串,并表示预处理语句中参数变量的数据类型和个数,而且每个字符必须与参数列表中每个变量一一匹配.可以表示数据类型的字符有i、d、b、s等.i代表INTEGER;d代表DOUBLE/FLOAT;b代表BLOB二进制数据;s代表其它类型.
2.3给变量赋值
预处理语句中的参数与变量绑定之后,为每个变量赋值,形成一个可执行的SQL语句,执行之后,可以给变量赋新值再次执行.完成同样的操作,却不需要重复向服务器发送同样的SQL语句.
2.4执行SQL语句
准备好了预处理语句,并为绑定的所有参数赋值之后,可以调用execute()方法执行SQL语句了,并给参数赋不同的值,执行多次.
2.5回收资源
预处理语句运行结束之后,使用mysqli_stmt对象的close()方法释放资源,删除预处理语句.
3mysqli预处理语句处理INSERT操作
$link等于newmysqli("localhost","root","123","db_php");
if(!$link->connect_errno){
$query等于"INSERTINTOtb_userVALUES";
$stmt等于$link->prepare($query);
$stmt->bind_param
;
$username等于"周文韬";
$password等于md5("000");
$等于"zhoujie@126.";
$sex等于"男";
$stmt->execute();
$stmt->close();
}
在本例中可以给每个变量赋新值后重复执行,可以向tb_user表中插入多条记录.用这个方法完成INSERT、UPDATE、DELETE操作之后,可以使用mysqli_stmt对象的affected_rows属性获取被操作记录的行数;还可以使用mysqli对象的insert_id属性获得tb_user表中最新一条新增记录的userid的值(字段userid是tb_user表的主键),因为该字段被定义为int类型,并且是auto_increment属性.
本文来源:http://www.sxsky.net/zhengzhi/050133620.html
在预处理语句的SELECT操作中,SELECT查询结果将保留在MySQL服务器上,可以用fetch()方法把记录逐条取回到PHP程序中,赋值给使用bind_result()方法绑定的PHP变量.如果需要对查询的所有记录进行处理,可以调用mysqli_stmt对象中的store_result()方法,把所有结果全部取回到PHP程序中.这样做不仅更有效率,而且能减轻服务器的负担.
mysqli预处理语句比mysql有更高的执行效率和安全性,因为,mysql是将完整的SQL语句传递给服务器,然后逐条编译执行;而mysqli是将用占位符“?”代替参数的SQL语句事先缓存在MySQL服务器上,而后,只向服务器传递SQL语句的参数,绑定不同的参数后即可反复运行.此外,mysql执行SQL语句时是把传人的变量当成SQL语句的一部分,而mysqli预处理语句在传递绑定参数的时候,无论参数的值是什么,即使参数本身就是SQL语句,也只是当做字符串来处理,这样就防止了数据库SQL注入的危险.
4总结
mysqli预处理语句提高了大数据的处理效率,查询语句仅需要解析一次,但可以用
语句相关论文范例
作者简介
周建儒(1980-),男,陕西省城固县人.硕士学位.现为四川信息职业技术学院信息工程系讲师.研究方向为软件工程.
作者单位
四川信息职业技术学院信息工程系四川省广元市628040
语句相关论文范例,与mysqli预处理语句的技术相关毕业论文模板参考文献资料: