//预编译演示
//1,创建mysqli对象
$mysqli=new mysqli("localhost","root","","test");
//2,创建预编译对象
$sql="insert into user1 (name,password,email,age)
values(?,?,?,?)";
$mysqli_stmt=$mysqli->prepare($sql) or
die($mysqli->error);
//绑定参数
$name="罐罐";
$password="guanguan";
$email="gg@qq.com";
$age="1";
//参数绑定->给?赋值
$mysqli_stmt->bind_param("sssi",$name,$password,$email,$age);
//执行
$b=$mysqli_stmt->execute();

if(!$b){
die("操作失败".$mysqli_stmt->error);
}else{
echo "操作成功";
}
$mysqli->close();



使用预处理的方式从数据库查询

//使用预处理方法,查询所有ID>5的数据
$mysqli=new mysqli("localhost","root","","test");
if(mysqli_connect_error()){
die(mysqli_connect_error());
}

//创建一个预定义对象?占位
$sql="select id,name,email from user1 where id>?";
$mysqli_stmt=$mysqli->prepare($sql);
$id=5;
//绑定参数
$mysqli_stmt->bind_param("i",$id);
//绑定结果集
$mysqli_stmt->bind_result($id,$name,$email);
//执行
$mysqli_stmt->execute();
//取出绑定的值
while($mysqli_stmt->fetch()){
echo "

--$id--$name--$email";
}
//关闭资源
//释放结果
$mysqli_stmt->free_result();
//关闭预编译语句
$mysqli_stmt->close();
//关闭连接
$mysqli->close();

预编译可以自动防止sql(结构化查询语句)注入攻击

mysqli扩展库的预处理技术 mysqli stmt的更多相关文章

  1. mysqli扩展库的 预处理技术 mysqli stmt

    问题的提出? 现在需要向mysql数据库添加100个用户,请问如何实现? 思路: 使用for循环100次,向数据库中添加100个用户. 使用批量添加 $sql1=”insert xxx”; $ssql ...

  2. mysqli 扩展库的预处理技术(mysqli_stmt)

    提出问题 现在需要向mysql数据库中添加100个用户,请问如何实现? 方法一:for循环100次 方法二:使用批量添加 $sqls="insert xxx"; $sqls.=&q ...

  3. php mysqli扩展库之预处理操作

    分享下php使用mysqli扩展库进行预处理操作的二个例子,有意研究mysqli用法的朋友,可以参考学习下,一定会有所帮助的. 例1.使用mysqli扩展库的预处理技术 mysqli stmt 向数据 ...

  4. mysqli扩展库的预处理

    预处理的特点:1.效率高,执行速度快 2.安全性高,可以防止sql注入 $mysqli  中的函数 $stmt=$mysqli->prepare($sql);             预备一条s ...

  5. 使用php的mysqli扩展库操作mysql数据库

    简单介绍mysqli: 1.mysqli(mysql improve mysql扩展库的增强版) mysql扩展库和mysqli扩展库的区别 1.mysqli的稳定性  安全性 和 执行效率有所提高 ...

  6. PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句

    对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本.我们之前也已经学习过了 PDO 中关于事务和预处理语句相关的内容.所以在这里,我们就不再多讲理论方面的 ...

  7. PHP使用mysqli扩展库实现增删改查(面向对象版)

    mysqli扩展库是mysql扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli.操作方式大体和 ...

  8. mysqli扩展库操作mysql数据库

    配置环境 配置php.ini文件让php支持mysqli扩展库 extension=php_mysqli.dll 建库建表 详见博客 “mysql扩展库操作mysql数据库” 查询数据库 <?p ...

  9. 【小结】有关mysql扩展库和mysqli扩展库的crud操作封装

    现阶段php如果要操作mysql数据库 php给我们提供了3套库 1.mysql扩展库   面向过程操作 2.mysqli扩展库  面向对象操作和面向过程操作并存  安全性和效率高于mysql扩展库 ...

随机推荐

  1. js生成当前时间

    js生成当前时间 var today=new Date(); function itArray(){ this.length=itArray.arguments.length for(var i=0; ...

  2. huffman编码压缩算法(转)

    参考:http://blog.csdn.net/sunmenggmail/article/details/7598012 笔试时遇到的一道题.

  3. (原)android中的动画(三)之动画监听&页面切换动画

    1.动画也可以设置监听事件,例如在动画结束时需要执行某操作 把要执行的代码写在onAnimationEnd()回调方法中即可: anim.setAnimationListener(new Animat ...

  4. Codeforces 727 F. Polycarp's problems

    Description 有一个长度为 \(n\) 有正负权值的序列,你一开始有一个值,每次到一个权值就加上,最少需要删掉多少数值才能到序列末尾.\(n \leqslant 750,m \leqslan ...

  5. net-snmp配置文件详解

    net-snmp配置文件详解 net-snmp的配置文件是有一定的层次结构的,配置起来也很方便.网上找了很多资料,大概把这个配置文件的各个信息搞懂了一点.其实在net-snmp的EXAMPLE.con ...

  6. discuz后台开发常用函数

    showsetting()表单显示 返回值:无 参数: $setname - 指定输出标题,如:setting_basic_bbname, 自动匹配描述文字为:setting_basic_bbname ...

  7. HTML锚点参考II

    锚点使用:<a href="#a">会直接找到id为a的元素的位置,不需要其他设置.如此简单! <a href="#a"> <li ...

  8. [转载]能不能同时用static和const修饰类的成员函数?

    题目(一):我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量).请问:能不能同时用static和con ...

  9. 开源工作流 Bonita BPM (JAVA)

    Bonita BPM 开源工作流 Bonita BPM  (JAVA) http://www.bonitasoft.com/

  10. uva 1584.Circular Sequence

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...