Blogger Information
Blog 9
fans 0
comment 5
visits 10215
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1127 PHP程序员必学的知识点-PDO
酒淋后
Original
719 people have browsed it

前言:

  1. 简介:PDO 就是PHP Data Object的简称;
  2. 用途:PDO主要用来代替数据库操作类;
  3. 优势:PDO同时可以操作多个数据库,例如:mysqlsql serverOracleDB2等;
  4. 其他:
    PDO扩展为PHP访问数据库定义了一个轻量级的一致性的接口,无论使用什么数据库,都可以通过一致的函数来执行查询和获取数据;
    PDO是一个数据库访问抽象层,作用是同一各种数据库的访问接口与MYSQLMSSQL函数库相比, PDO让跨数据库的使用更具有亲和力,与ADODBMDB2相比,PDO高效

PHP中的PDO访问流程图:

数据库的配置信息:

  1. $dsn = "mysql:host=127.0.0.1;port=3306;dbname=student;charset=utf8";
  2. $username = "root";
  3. $password = "password";

创建PDO 类的对象:

  1. $pdo = new PDO($dns,$username,$password);

插入一条记录:

  1. $sql = "insert into student values(null,"","","18")";
  2. $record = $pdo->exec($sql); // exec() 不会返回结果集,返回整型;
  3. echo “插入了{$record}条记录";

执行 SQL 语句:query():

  1. // 以 PDOStatement 对象形式返回结果集

描述:执行select、show语句,并返回一个结果集对象(PDOStatement)
语法:public PDOStatement PDO::query(string $Statement)

  1. $dsn = "mysql:host=localhost;port=3306;dbname=student;charser=urf8";
  2. $username = "root";
  3. $password = "root";
  4. $pdo=new pdo($dsn,$username,$password);
  5. // 查询数据并返回结果集
  6. $sql="select * from student order by id desc";
  7. $PDOStatement = $pdo->query($sql);
  8. // 遍历对象
  9. forach($PDOStatement as $row){
  10. print_r($row); // 由于是数组,所以用print_r打印输出查看;
  11. }

下面是我从数据库查询到的数据:

  1. Array
  2. (
  3. [id] => 19
  4. [0] => 19
  5. [name] => 张学友
  6. [1] => 张学友
  7. [sex] =>
  8. [2] =>
  9. [age] => 34
  10. [3] => 34
  11. [class] => 5
  12. [4] => 5
  13. )
  14. Array
  15. (
  16. [id] => 18
  17. [0] => 18
  18. [name] => 酒淋后
  19. [1] => 酒淋后
  20. [sex] =>
  21. [2] =>
  22. [age] => 12
  23. [3] => 12
  24. [class] => 5
  25. [4] => 5
  26. )
  27. Array
  28. (
  29. [id] => 16
  30. [0] => 16
  31. [name] => 法定
  32. [1] => 法定
  33. [sex] =>
  34. [2] =>
  35. [age] => 281
  36. [3] => 281
  37. [class] => 5
  38. [4] => 5
  39. )

执行 SQL 语句:feach():

描述:从结果集中获取一行,并将指针下移;
语法:mixed PDOStatement::fetch([int $fetch_tyle])
参数:
PDO::FETCH_ASSOC:返回一个索引为结果集的数组;
PDO::FETCH_BOTH:返回一个索引为结果集和以0开始的列号数组(该参数为默认参数,上面就是这个默认参数输出的数据);
PDO::FETCH_NUM:返回索引为以0开始的结果集列号的数组;

例:

  1. $arr=$PDOStatement->fetch(PDO:FETCH_ASSOC);
  2. print_r($arr);

下面是我从数据库查询到的数据:

  1. Array
  2. (
  3. [id] => 19
  4. [name] => 张学友
  5. [sex] =>
  6. [age] => 34
  7. [class] => 5
  8. )

执行fetchAll()

描述: 返回一个包含结果集中所有行的数组
语法:同fetch

  1. $arrs=$PDOStatement->fetchAll(PDO::FETCH_ASSOC);
  2. print_r($arrs);

下面是我从数据库查询到的数据:

执行fetchColumn()

描述:从结果集中获取单独的列;
语法:string PDOStatement::fetchCloumn([int $cloumn_number = 0]);
参数:$cloumn_number是列的索引值,默认为 “ 0 ” ;

测试:

  1. $recods = $PDOStatement->fetchColumn();
  2. echo "共有{$recods}条记录!";

如果我把参数改成1,所以这个fetchcolumn 还是没搞懂!

  1. $recods = $PDOStatement->fetchColumn(1);
  2. echo "共有{$recods}条记录!";

测试一下 rowcount()

  1. $sql="select * from student order by id desc";
  2. $PDOStatement = $pdo->query($sql);
  3. $records = $PDOStatement->rowcount();
  4. echo "共有{$records}条记录!";

其他:

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:对结果集的处理手段多种, 熟练掌握一种即可
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post