PHP mysqli扩展库 预处理技术的使用分析


1、使用mysqli扩展库 预处理技术 mysqli stmt 向数据库添加3个用户

复制代码 代码如下:

<?php

    //mysqli扩展库 预处理技术 mysqli stmt 向数据库添加3个用户
    //1、创建mysqli对象
    $mysqli = new MySQLi("localhost","root","root","test");
    if($mysqli->connect_error){
        die($mysqli->conncet_error);
    }
    //2、创建预编译对象
    $sql="insert into user1(name,password,email,age) values(?,?,?,?)";
    $mysqli_stmt=$mysqli->prepare($sql);

    //绑定参数
    $name="小芳";
    $password="123456";
    $email="xiaofang@126.com";
    $age=18;

    //参数绑定->给?号赋值 这里类型和顺序要一致
    $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age);

    //执行
    $b=$mysqli_stmt->execute();

    //继续添加

    $name="小杨";
    $password="123456";
    $email="xiaoyang@126.com";
    $age=18;

    //参数绑定->给?号赋值 这里类型和顺序要一致
    $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age);

    //执行
    $b=$mysqli_stmt->execute();   

    //继续添加

    $name="小G";
    $password="123456";
    $email="xiaoG@126.com";
    $age=18;

    //参数绑定->给?号赋值 这里类型和顺序要一致
    $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age);

    //执行
    $b=$mysqli_stmt->execute();   

    if(!$b){
        echo "操作失败".$mysqli_stmt->error;
    }else{
        echo "操作成功";
    }
    //关闭预编译
    $mysqli_stmt->close();
    $mysqli->close();
?>


2、使用预处理查询id>5的用户id name email
复制代码 代码如下:

<?php

    //使用预处理查询id>5的用户id name email
    $mysqli=new MySQLi("localhost","root","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 "<br/>$id--$name--$email";
    }

    //关闭资源
    //释放结果
    $mysqli_stmt->free_result();
    //关闭与编译语句
    $mysqli_stmt->close();
    //关闭连接
    $mysqli->close();

?>



« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3