码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • PHP PDO


    PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。

    PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。

    PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。


    PDO 安装

    你可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展。

    在 Unix 系统上安装 PDO

    在Unix上或Linux上你需要添加以下扩展:

    extension=pdo.so

    Windows 用户

    PDO 和所有主要的驱动作为共享扩展随 PHP 一起发布,要激活它们只需简单地编辑 php.ini 文件,并添加以下扩展:

    extension=php_pdo.dll

    除此之外还有以下对应的各种数据库扩展:

    ;extension=php_pdo_firebird.dll
    ;extension=php_pdo_informix.dll
    ;extension=php_pdo_mssql.dll
    ;extension=php_pdo_mysql.dll
    ;extension=php_pdo_oci.dll
    ;extension=php_pdo_oci8.dll
    ;extension=php_pdo_odbc.dll
    ;extension=php_pdo_pgsql.dll
    ;extension=php_pdo_sqlite.dll

    在设定好这些配置后,我们需要重启PHP 或 Web服务器。

    接下来我们们来看下具体的实例,以下为使用PDO连接MySql数据库的实例:

    实例

    1. $dbms='mysql';     //数据库类型
    2. $host='localhost'; //数据库主机名
    3. $dbName='test';    //使用的数据库
    4. $user='root';      //数据库连接用户名
    5. $pass='';          //对应的密码
    6. $dsn="$dbms:host=$host;dbname=$dbName";
    7. try {
    8.     $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象
    9.     echo "连接成功
      "
      ;
    10.     /*你还可以进行一次搜索操作
    11.     foreach ($dbh->query('SELECT * from FOO') as $row) {
    12.         print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
    13.     }
    14.     */
    15.     $dbh = null;
    16. } catch (PDOException $e) {
    17.     die ("Error!: " . $e->getMessage() . "
      "
      );
    18. }
    19. //默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
    20. $db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));
    21. ?>

    很简单吧,接下来就让我们来具体看下PHP PDO具体说明:

    • 预定义常量
    • PHP PDO连接连接管理
    • PHP PDO 事务与自动提交
    • PHP PDO 预处理语句与存储过程
    • PHP PDO 错误与错误处理
    • PHP PDO 大对象 (LOBs)
    • PDO 类:
      • PDO::beginTransaction — 启动一个事务
      • PDO::commit — 提交一个事务
      • PDO::__construct — 创建一个表示数据库连接的 PDO 实例
      • PDO::errorCode — 获取跟数据库句柄上一次操作相关的 SQLSTATE
      • PDO::errorInfo — 返回最后一次操作数据库的错误信息
      • PDO::exec — 执行一条 SQL 语句,并返回受影响的行数
      • PDO::getAttribute — 取回一个数据库连接的属性
      • PDO::getAvailableDrivers — 返回一个可用驱动的数组
      • PDO::inTransaction — 检查是否在一个事务内
      • PDO::lastInsertId — 返回最后插入行的ID或序列值
      • PDO::prepare — 备要执行的SQL语句并返回一个 PDOStatement 对象
      • PDO::query — 执行 SQL 语句,返回PDOStatement对象,可以理解为结果集
      • PDO::quote — 为SQL语句中的字符串添加引号。
      • PDO::rollBack — 回滚一个事务
      • PDO::setAttribute — 设置属性
    • PDOStatement 类:
      • PDOStatement::bindColumn — 绑定一列到一个 PHP 变量
      • PDOStatement::bindParam — 绑定一个参数到指定的变量名
      • PDOStatement::bindValue — 把一个值绑定到一个参数
      • PDOStatement::closeCursor — 关闭游标,使语句能再次被执行。
      • PDOStatement::columnCount — 返回结果集中的列数
      • PDOStatement::debugDumpParams — 打印一条 SQL 预处理命令
      • PDOStatement::errorCode — 获取跟上一次语句句柄操作相关的 SQLSTATE
      • PDOStatement::errorInfo — 获取跟上一次语句句柄操作相关的扩展错误信息
      • PDOStatement::execute — 执行一条预处理语句
      • PDOStatement::fetch — 从结果集中获取下一行
      • PDOStatement::fetchAll — 返回一个包含结果集中所有行的数组
      • PDOStatement::fetchColumn — 从结果集中的下一行返回单独的一列。
      • PDOStatement::fetchObject — 获取下一行并作为一个对象返回。
      • PDOStatement::getAttribute — 检索一个语句属性
      • PDOStatement::getColumnMeta — 返回结果集中一列的元数据
      • PDOStatement::nextRowset — 在一个多行集语句句柄中推进到下一个行集
      • PDOStatement::rowCount — 返回受上一个 SQL 语句影响的行数
      • PDOStatement::setAttribute — 设置一个语句属性
      • PDOStatement::setFetchMode — 为语句设置默认的获取模式。
  • 相关阅读:
    为什么su模型导入3D有黑点?原因分析与解决方案---模大狮模型网
    高级数据结构——LRU Cache、LFU Cache
    【解决】使用Element-Plus icon图标不显示
    k8s持久化存储PV、PVC
    快速排序
    第二章第二节:字符串 索引和切片
    Flutter 3.3 之 SelectionArea 好不好用?用 “Bug” 带你全面了解它
    [附源码]java毕业设计流浪动物领养系统
    【.Net实用方法总结】 整理并总结System.IO中TextWriter类及其方法介绍
    Spring Cloud LoadBalancer--指定负载均衡策略--方法/实例
  • 原文地址:https://blog.csdn.net/unbelievevc/article/details/126697793
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号