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();

?>

(0)

相关推荐

  • PHP PDO函数库详解

    目前而言,实现"数据库抽象层"任重而道远,使用PDO这样的"数据库访问抽象层"是一个不错的选择. PDO中包含三个预定义的类 PDO中包含三个预定义的类,它们分别是 PDO.PDOStatement 和 PDOException. 一.PDO PDO->beginTransaction() - 标明回滚起始点PDO->commit() - 标明回滚结束点,并执行SQLPDO->__construct() - 建立一个PDO链接数据库的实例PDO-&

  • php+mysqli使用预处理技术进行数据库查询的方法

    本文实例讲述了php+mysqli使用预处理技术进行数据库查询的方法.分享给大家供大家参考.具体如下: 代码有些难度,需要基础知识比较扎实才能好理解,代码先放上来: 这里实现查询所有 id>5 的 id,title,contents值: 复制代码 代码如下: <?php $mysqli = new MySQLi("localhost","root","123456","liuyan"); if(!$mysqli){

  • php使用pdo连接报错Connection failed SQLSTATE的解决方法

    本文实例讲述了php pdo_mysql连接报错Connection failed: SQLSTATE[HY000] [2002] No such file or directory问题的解决方法.分享给大家供大家参考.具体方法如下: 错误描述: Connection failed: SQLSTATE[HY000] [2002] No such file or directory 环境概述: MacOS xampp 搭建的开发环境 apache mysql php xampp 已支持mysql

  • 关于php连接mssql:pdo odbc sql server

    只有一个php_pdo_odbc.dll. so~最新最好的php连接mssql方法应该是这样: 复制代码 代码如下: <?php $cnx = new PDO("odbc:Driver={SQL Server};Server=127.0.0.1;Database=test;",'sa','asd123'); var_dump($cnx); $a = $cnx->query("SELECT * FROM [user]"); var_dump($a); f

  • php使用PDO方法详解

    本文详细分析了php使用PDO方法.分享给大家供大家参考.具体分析如下: PDO::exec:返回的是int类型,表示影响结果的条数. 复制代码 代码如下: PDOStatement::execute 返回的是boolean型,true表示执行成功,false表示执行失败,这两个通常出现在如下代码: 复制代码 代码如下: $rs0 = $pdo->exec($sql); $pre = $pdo->prepare($sql); $rs1 = $pre->execute(); 一般情况下可以

  • PHP5中使用PDO连接数据库的方法

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll.php_pgsql.dll.php_mssql.dll.php_sqlite.dll等等. PHP6中也将默认使用PDO的方式连接,mysql扩展将被作为辅助 2.PDO配置 PHP.ini中,去掉"extension=php_pdo.dll"前面

  • 在PHP中PDO解决中文乱码问题的一些补充

    我的环境是appsver包, 在网上最常出现的解决中文乱码显示的代码是: 第一种:PDO::__construct($dsn, $user, $pass, array (PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES'utf8';")); 我试过用第一种方法,可结果是,name字段只显示一个'C'字符.之后的本该显示中文的地方却是空白. 结果是这样的:如图1示 我是只要解决的:直接将UTF8替换成了GBK,就可以了,即: PDO::__con

  • php_pdo 预处理语句详解

    这篇文章主要介绍的是关于php_pdo 预处理语句,下面话不多说,我们来看看详细的内容. 一.预处理语句可以带来两大好处: 1.查询仅需解析(或预处理)一次,但可以用相同或不同的参数执行多次.当查询准备好后,数据库将分析.编译和优化 执行该查询的计划.对于复杂的查询,此过程要花费较长的时间,如果需要以不同参数多次重复相同的查询,那么该过程将大 大降低应用程序的速度.通过使用预处理语句,可以避免重复分析/编译/优化周期.简言之,预处理语句占用更少的资源,因 而运行得更快. 2.提供给预处理语句的参

  • PHP中PDO的错误处理

    面向对象的方式 先看看如果连接错误等的处理,PHP中PDO的错误处理,使用面向对象的方式来处理: 复制代码 代码如下: <?php try { $db = new PDO('mysql:host=localhost;dbname=test', $user, $pass); $db = null; } catch (PDOException $e) { print "Error: " . $e->getMessage() . "<br/>";

  • php+mysqli预处理技术实现添加、修改及删除多条数据的方法

    本文实例讲述了php+mysqli预处理技术实现添加.修改及删除多条数据的方法.分享给大家供大家参考.具体分析如下: 首先来说说为什么要有预处理(预编译)技术?举个例子:假设要向数据库添加100个用户,按常规思路,就是向数据库发送100个执行请求,此时,按照 mysql 数据库的工作原理,它需要对每一条执行语句进行编译(这里就有100次).所以,这里的效率是非常低的. 预处理(预编译)技术的作用,就是减少编译的次数和时间,以提高效果.通过一个案例来说明,预处理(预编译)技术是如何做到的(好吧,先

随机推荐