博主信息
博文 29
粉丝 0
评论 0
访问量 24389
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
pdo操作
CC
原创
970人浏览过

pdo开启与连接

  • 查看php配置(检测pdo是否开启)
    1. <?php
    2. phpinfo();

    pdo连接模板

  • conflg部分
  1. <?php
  2. // 数据库的配置参数
  3. return [
  4. 'type' => 'mysql',
  5. 'host' => '127.0.0.1',
  6. 'dbname' => 'phpedu',
  7. 'port' => '3306',
  8. 'charset' => 'utf8mb4',
  9. 'username' => 'root',
  10. 'password' => 'root',
  11. ];
  • connect部分
  1. <?php
  2. // 导入配置文件
  3. $config = require __DIR__ . '/config.php';
  4. //extract类似list函数 将关联数组成员解析成独立变量
  5. extract($config);
  6. $dsn = sprintf('%s:dbname=%s;',$type,$dbname);
  7. try {
  8. // pdo构造方法,实例
  9. $pdo =new PDO($dsn, $username, $password);
  10. // $pdo =new PDO('mysql:dbname=phpedu','root','root');
  11. // 设置结果集的返回类型
  12. $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
  13. // var_dump($pdo,'连接成功');
  14. } catch (PDOException $e) {
  15. die( '连接失败:' . $e->getMessage());
  16. }
  17. `

pdo查询

  1. <?php
  2. // 1.连接数据库
  3. use PhpMyAdmin\Sql;
  4. require __DIR__.'/connect.php';
  5. // 2.执行操作(预处理)
  6. // sql语句注意事项:语句全大写,表名和反引号加反引号,?匿名占位符
  7. $sql = 'SELECT* FROM `staffs` WHERE `salary` BETWEEN ? AND ?;';
  8. $stmt = $pdo->prepare($sql);
  9. // var_dump($stmt);
  10. // 预处理语句,5000和8000对应sql语句?
  11. $stmt->execute([5000,8000]);
  12. // $stmt->debugDumpParams();
  13. // $row=$stmt->fetch();
  14. // print_r($row);
  15. // $rows =[];
  16. // // 结果集保存在stmt,fetch方法只能输出一个
  17. // while($row=$stmt->fetch()){
  18. // $rows[]=$row;
  19. // }
  20. // foreach($rows as $row){
  21. // echo print_r($row,true);'<br>';
  22. // }
  23. $rows=$stmt->fetchAll();
  24. foreach($rows as $row){
  25. echo print_r(array_slice($row,0,5),true),'<br>';
  26. }

分页查询

  • bindParam方法绑定
  1. <?php
  2. // 1.连接数据库
  3. use PhpMyAdmin\Sql;
  4. require __DIR__ . '/connect.php';
  5. // 2.执行操作(预处理)
  6. // sql语句注意事项:语句全大写,表名和反引号加反引号,?匿名占位符
  7. $sql = 'SELECT* FROM `staffs` WHERE `salary` BETWEEN ? AND ? LIMIT ?;';
  8. $stmt = $pdo->prepare($sql);
  9. // var_dump($stmt);
  10. // 预处理语句,5000和8000,5对应sql语句?
  11. $start = 5000;
  12. $end=8000;
  13. $num=5;
  14. // bindParam方法绑定到sql(参数位置,变量名,输出类型)
  15. $stmt->bindParam(1,$start,PDO::PARAM_INT);
  16. $stmt->bindParam(2, $end, PDO::PARAM_INT);
  17. $stmt->bindParam(3, $num, PDO::PARAM_INT);
  18. $stmt->execute();
  19. $rows = $stmt->fetchAll();
  20. foreach ($rows as $row) {
  21. echo print_r(array_slice($row, 0, 5), true), '<br>';
  22. }
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学