您现在的位置:首页 > 教案格式 > 正文

数组换位置一.介绍 PHP(外文名:PHP: Hyperte(17)

2018-02-02 05:05 网络整理 教案网

开启PDO_mysql相关扩展(php_pdo_mysql.dll)

连接

数组换位置_数组换位置java_数组排序C语言

认证

发送SQL

等待mysql服务器的执行结果

处理执行结果

<?php
class PDODB{
  private $pdo;
  function __construct(){
    // 1.连接数据库
    $dsn = ‘mysql:host=127.0.0.1;port=3306;dbname=mysql‘;
    $username = ‘root‘;
    $password = ‘123456‘;
    $driver_options = array(
      PDO::MYSQL_ATTR_INIT_COMMAND => ‘SET NAMES UTF8‘
      );
    $this->pdo = new PDO($dsn, $username, $password, $driver_options);
  }
  function show_tables(){
    // 2.执行sql语句
    $result = $this->pdo->query(‘select * from user;‘);
    // 3.处理返回结果
    # 返回列名和数据的关联数组
    # $list = $result->fetchAll();
    # 返回数组,不显示列名
    $list = $result->fetchAll(PDO::FETCH_NUM);
    var_dump($list);
  }
}
$pdo = new PDODB();
$pdo->show_tables();

errorInfo()错误信息,包含错误信息的数组。

errorCode()错误代码

beginTransaction()开启事务

rollback()回滚事务

commit()提交事务

inTransaction()判断是否处于事务中

lastInsertID()最后形成的auto_increment字段的值

Exec(),query():执行SQL的方法,返回值类型不同。Exec()返回值类型为整型表示当前执行SQL所影响的记录数,query()返回的是对象类型。

Query():执行查询类,show,select,desc

Exec():非查询类,insert,delete,update,DDL

一条SQL的执行,MySQL分成两大步骤:1编译->2执行

优点:1.连续执行多条结构相同的SQL速度快(结构已经编译好了)。2.可以防止sql注入。

编译统一的结构$PDOStatement = $pdo->prepare(SQL的结构);(SQL结构中的数据部分,可以使用问号,或者冒号标签的语法来占用)

绑定数据到中间编译结果$PDOStatement->bindValue()

执行$PDOStatement->execute();

<?php
class PDODB{
  private $pdo;
  function __construct(){
    $dsn = ‘mysql:host=127.0.0.1;port=3306;dbname=test‘;
    $username = ‘root‘;
    $password = ‘123456‘;
    $driver_options = array(
      PDO::MYSQL_ATTR_INIT_COMMAND => ‘SET NAMES UTF8‘
      );
    $this->pdo = new PDO($dsn, $username, $password, $driver_options);
  }
  function crate_table_testpre(){
    $result = $this->pdo->exec(‘create table testpre (name varchar(20));‘);
    var_dump($result);
  }
  function insert_data(){
    $names = array(
      ‘张三‘, ‘李四‘, ‘王五‘
      );
    $stmt = $this->pdo->prepare(‘insert into testpre values (:name)‘);
    foreach ($names as $key => $value) {
      $stmt->bindValue(‘:name‘, $value);
      $result = $stmt->execute();
      var_dump($result);
    }
  }
}
$pdo = new PDODB();
$pdo->crate_table_testpre();
$pdo->insert_data();