美文网首页PHP实战PHP经验分享
PHP中MySQL的预处理(预编译)执行方式

PHP中MySQL的预处理(预编译)执行方式

作者: kangyiii | 来源:发表于2017-04-17 19:08 被阅读0次

MySQL的预编译是指在创建数据库对象时就将指定的SQL语句编译完成,这时SQL语句已经被MySQL解析、审查,所以相对传统的执行方式(每处理一个SQL语句就要解析SQL语句、检查语法和语义),预编译方式在执行数据插入、更新或者删除操作的时候,执行效率更高。

预编译语句优点:

  1. 提高运行效率
  2. 防止SQL注入:因为预编译时预先已经将SQL的结构确定,在执行SQL语句时,结构不会发生改变。

PHP中MySQL的预编译具体操作方式

  1. 编译统一的结构
/*假定已经完成数据库初始化操作,数据库对象名:$pdo*/
$sql = "insert into team values (null, :team_name)";
$PDOStatement = $pdo->prepare($sql);
  1. 绑定数据到中间编译结果
$PDOStatement->bindValue(':team_name','国安');
  1. 执行
$result = $PDOStatement->execute();

完整操作代码

$username = 'root';
$password = '1234abcd';
$driver_options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND    => 'SET NAMES UTF8',
    );
$pdo = new PDO($dsn, $username, $password, $driver_options);
//1.编译统一的结构
$sql = "insert into team values (null, :team_name)";
$stmt = $pdo->prepare($sql);
$data_list = array(
    array('name'=>'国安'),
    array('name'=>'绿地'),
    array('name'=>'恒大'),
    array('name'=>'建业'),
    array('name'=>'鲁能'),
    array('name'=>'申花'),
    );
foreach($data_list as $row) {
    //2.绑定数据到中间编译结果
    $stmt->bindValue(':team_name', $row['name']);

    //3.执行
    $result = $stmt->execute();
    var_dump($result);
}

相关文章

  • PHP中MySQL的预处理(预编译)执行方式

    MySQL的预编译是指在创建数据库对象时就将指定的SQL语句编译完成,这时SQL语句已经被MySQL解析、审查,所...

  • 编译fileinfo扩展

    进入PHP源码目录 执行PHP扩展编译预处理指令 编译PHP扩展 找到PHP.INI文件,修改extension_...

  • C++脚本的执行过程, since 2020-11-08

    (2020.11.08 Sun)基本执行过程:源码编辑、预处理、编译、优化、汇编、链接、加载 源代码编辑 略 预处...

  • 编译安装LNMP

    编译安装nginx 编译安装PHP 配置Nginx+PHP 安装MySQL

  • 编译安装LNMP2

    编译安装nginx 编译安装PHP 配置Nginx+PHP 安装MySQL

  • lnmp环境搭建

    安装依赖库 安装nginx 安装Mysql 安装PHP依赖库 编译安装PHP库 编译PHP 7.2 复制php配置...

  • C/C++源代码到可执行程序的过程详解

    源代码-->编译预处理-->编译-->优化-->汇编-->链接-->可执行文件 1.编译预处理 读取c/c++源程...

  • centos7 下安装PHP扩展

    添加PHP扩展: 方法一编译PHP时添加 在编译安装 PHP 时加上–with-pdo-mysql[=DIR] 参...

  • gcc

    *-E 选项 只进行 预处理 *-S 选项 进行 预处理 和 编译,生成 xx.s 文件 *-c 选项 进行 预处...

  • CentOS7 部署php5.2.17+ZendOptimize

    依赖 安装libmcrypt 安装php-5.2.17以及php-fpm补丁包 编译安装PHP 编译时mysql及...

网友评论

    本文标题:PHP中MySQL的预处理(预编译)执行方式

    本文链接:https://www.haomeiwen.com/subject/vaznattx.html