zoukankan      html  css  js  c++  java
  • MySqli预处理

    预处理是先提交SQL语句到服务端,执行预编译,

    客户端执行SQL语句时,只需要上传输入参数即可。

    如果涉及多次读取或存储,效率高于普通SQL执行操作。

    1.普通SQL执行

    1 <?php
    2   header('content-type:text/html;charset=utf-8');
    3   $mysqli=new mysqli('localhost','root','','test');
    4   $mysqli->query('set names utf8');
    5   $sql="INSERT INTO users(name,money) values('张三',100)";
    6   $result=$mysqli->query($sql);
    7  ?>

    2.预处理(增删改)

     1 <?php
     2   header('content-type:text/html;charset=utf-8');
     3   $mysqli=new mysqli('localhost','root','','test');
     4   $mysqli->query('set names utf8');
     5 
     6   $sql="INSERT INTO users(name,money) values(?,?)"; //参数以?代替
     7   $stmt=$mysqli->prepare($sql); //预处理
     8   
     9   $name='张三';
    10   $money=100;
    11   $stmt->bind_param('si',$name,$money); //绑定参数
    12   $result=$stmt->execute();
    13 
    14   $name='李四';
    15   $money=200;
    16   $stmt->bind_param('si',$name,$money); //绑定参数
    17   $result=$stmt->execute();
    18  ?>

     3.预处理(查询)

     1 <?php
     2   header('content-type:text/html;charset=utf-8');
     3   $mysqli=new mysqli('localhost','root','','test');
     4   $mysqli->query('set names utf8');
     5   $sql='SELECT * FROM users WHERE id>?'; //参数以?代替
     6   $stmt=$mysqli->prepare($sql);  //预处理
     7   $id=1;
     8   $stmt->bind_param('i',$id); //绑定参数
     9   $stmt->bind_result($id,$name,$money);  //查询需要绑定结果集 [必须绑定所有字段]
    10   $stmt->execute(); //执行sql语句
    11   //取出结果集
    12   while($stmt->fetch()){
    13     $data[]=[
    14       'id'=>$id,
    15       'name'=>$name,
    16       'monry'=>$money
    17     ];
    18   }
    19   var_dump($data);
    20 
    21  ?>
  • 相关阅读:
    WCF之ABC
    一次性为自定义实体类的数据填充
    在HttpHandlers中使用Session
    ASP.NET 2.0防止同一用户同时登陆
    Winson.Framework 1.5发布!
    SqlPager分页控件的使用!
    ExtJS 学习心得(一)
    [原创]Discuz!NT1.1高亮代码插件1.5稳定版!
    Winson.Framework 1.0发布!
    一个不错的WEB打印解决方案!
  • 原文地址:https://www.cnblogs.com/t-young1201/p/10153571.html
Copyright © 2011-2022 走看看