博主信息
博文 9
粉丝 0
评论 5
访问量 12594
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
1127 PHP程序员必学的知识点-PDO
酒淋后
原创
920人浏览过

前言:

  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}条记录!";

其他:

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:对结果集的处理手段多种, 熟练掌握一种即可
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学