• 使用mysqli_stmt类


    在生成网页时,许多PHP脚本通常都会执行除参数以外,其他部分完全相同的查询语句,针对这种重复执行一个查询,每次迭代使用不同的参数情况,MySQL从4.1版本开始提供了一种名为预处理语句(prepared statement)的机制。它可以将整个命令向MySQL服务器发送一次,以后只有参数发生变化,MySQL服务器只需对命令的结构做一次分析就够了。这不仅大大减少了需要传输的数据量,还提高了命令的处理效率。可以用mysqli扩展模式中提供的mysqli_stmt类的对象,去定义和执行参数化的SQL命令,mysqli_result类中包含的全部成员属性和成员方法如表13-6和表13-7所示。

    表13-6  mysqli_stmt类中的成员方法(共12个)

    成员方法名

    描    述

    bind_param()

    该方法把预处理语句各有关参数绑定到一些

    PHP变量上,注意参数的先后顺序

    bind_result()

    预处理语句执行查询之后,利用该方法将变量绑定到所获取的字段

    close()

    一旦预处理语句使用结果之后,它所占用的资源可以通过该方法回收

    data_seek()

    在预处理语句中移动内部结果的指针

    execute()

    执行准备好的预处理语句

    fetch()

    获取预处理语句结果的每条记录,并将相应的字段赋给绑定结果

    free_result()

    回收由该对象指定的语句占用的内存

    result_metadata()

    从预处理中返回结果集原数据

    prepare()

    无论是绑定参数还是绑定结果,都需要使用

    该方法准备要执行的预处理语句

    send_long_data()

    发送数据块

    reset()

    重新设置预处理语句

    store_result()

    从预处理语句中获取结果集


    表13-7  mysqli_stmt类中的成员属性(共6个)

    成员属性名

    描    述

    $affected_rows

    返回该对象指定的最后一条语句所影响的记录数。

    注意,该方法只与插入、修改和删除三种查询句有关

    $errno

    返回该对象指定最近所执行语句的错误代码

    $error

    返回该对象指定最近所执行语句的错误描述字符串

    $param_count

    返回给定的预处理语句中需要绑定的参数个数

    $sqlstate

    从先前的预处理语句中返回SQL状态错误代码

    $num_rows

    返回stmt对象指定的SELECT语句获取的记录数

     
     
    $stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
    $stmt->bind_param('s', $name);
    
    $stmt->execute();
    
    $result = $stmt->get_result();
    while ($row = $result->fetch_assoc()) {
        // do something with $row
    }
  • 相关阅读:
    按比例缩放图片,JavaScript代码
    ajax学习资料
    真正的取真实IP地址
    trac+svn+apache
    2009年的十大流行网站技术
    未能使用提供程序“RsaProtectedConfigurationProvider”进行解密
    ajax 自动保存草稿[转]
    从资源文件里加载文件(C#)
    javascript获取FCKeditor内容
    apache+php+mysql+phpadmin配置
  • 原文地址:https://www.cnblogs.com/superfeeling/p/5531332.html
Copyright © 2020-2023  润新知