Mysqli:预编译 mysqli_stmt

       当数据库操作语句很多时,传统的方法:每次传一条操作语句,数据库都需要先编译,然后关闭;而数据库编译语句的时间仅次于连接时间,所以造成时间过长,效率不高;所以PHP作者想到用预编译的方法,只需预编译一次,后面传的都是数据,大大节省了数据库编译时间,效率迅速提高!!!

<?php
$mysqli=new mysqli("localhost","root","123456","test002");
if($mysqli->connect_error){
    die ("LINK FAILED".$mysqli->connect_error);
}
$query="insert into user1 (name,password,email,age) values (?,?,?,?)";
$stmt=$mysqli->prepare($query);
$stmt->bind_param('sssi',$name,$password,$email,$age);
$name="Polly";
$password="74E738";
$email="polly@sohu.com";
$age=34;
$b=$stmt->execute();
if(!$b){
    echo "FAILED".$stmt->error;
}else{
    echo "SUCCESS";
}
$name="Lily";
$password="74E738";
$email="Lily@sohu.com";
$age=24;
$stmt->execute();
$name="Luna";
$password="74E738";
$email="Luna@sohu.com";
$age=29;
$stmt->execute();

echo "<br><br>END";
$mysqli->close();
 

<?php
$mysqli=new mysqli("localhost","root","123456","test002");
if($mysqli->connect_error){
    die ("LINK FAILED".$mysqli->connect_error);
}
$mysqli->query("set names utf8");
$query="select id,name,email,age from user1 where id>?";
$stmt=$mysqli->prepare($query);
$stmt->bind_param('i',$id);
$id=8;
$stmt->bind_result($id,$name,$email,$age);
$stmt->execute();
while($stmt->fetch()){
    echo "<br>--$id--$name--$email--$age";
}

echo "<br>***************************************************************************";
$id=38;
$stmt->execute();
while($stmt->fetch()){
    echo "<br>--$id--$name--$email--$age";
}
//释放内存结果集;
$stmt->free_result();
//关闭预编译;
$stmt->close();
$mysqli->close();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值