admin 发表于 2023-2-16 18:54:43

PHP PDO

<div id="article_content" class="article_content clearfix">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css">
                <div id="content_views" class="htmledit_views">
                  <p>PHP 数据对象 &#xff08;PDO&#xff09; 扩展为PHP访问数据库定义了一个轻量级的一致接口。</p>
<p>PDO 提供了一个数据访问抽象层&#xff0c;这意味着&#xff0c;不管使用哪种数据库&#xff0c;都可以用相同的函数&#xff08;方法&#xff09;来查询和获取数据。</p>
<p>PDO随PHP5.1发行&#xff0c;在PHP5.0的PECL扩展中也可以使用&#xff0c;无法运行于之前的PHP版本。</p>
<hr>
<h2>PDO 安装</h2>
<p>你可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展。</p>
<h3>在 Unix 系统上安装 PDO</h3>
<p>在Unix上或Linux上你需要添加以下扩展&#xff1a;</p>
<pre>extension&#61;pdo.so</pre>
<h3>Windows 用户</h3>
<p>PDO 和所有主要的驱动作为共享扩展随 PHP 一起发布&#xff0c;要激活它们只需简单地编辑 php.ini 文件&#xff0c;并添加以下扩展&#xff1a;</p>
<pre>extension&#61;php_pdo.dll</pre>
<p>除此之外还有以下对应的各种数据库扩展&#xff1a;</p>
<pre>;extension&#61;php_pdo_firebird.dll
;extension&#61;php_pdo_informix.dll
;extension&#61;php_pdo_mssql.dll
;extension&#61;php_pdo_mysql.dll
;extension&#61;php_pdo_oci.dll
;extension&#61;php_pdo_oci8.dll
;extension&#61;php_pdo_odbc.dll
;extension&#61;php_pdo_pgsql.dll
;extension&#61;php_pdo_sqlite.dll</pre>
<p>在设定好这些配置后&#xff0c;我们需要重启PHP 或 Web服务器。</p>
<p>接下来我们们来看下具体的实例&#xff0c;以下为使用PDO连接MySql数据库的实例&#xff1a;</p>
<h2>实例</h2>
<p><?php<br> $dbms&#61;'mysql';     //数据库类型<br> $host&#61;'localhost'; //数据库主机名<br> $dbName&#61;'test';    //使用的数据库<br> $user&#61;'root';      //数据库连接用户名<br> $pass&#61;'';          //对应的密码<br> $dsn&#61;&#34;$dbms:host&#61;$host;dbname&#61;$dbName&#34;;<br><br><br> try {<br>     $dbh &#61; new PDO($dsn, $user, $pass); //初始化一个PDO对象<br>     echo &#34;连接成功<br/>&#34;;<br>     /*你还可以进行一次搜索操作<br>     foreach ($dbh->query('SELECT * from FOO') as $row) {<br>         print_r($row); //你可以用 echo($GLOBAL); 来看到这些值<br>     }<br>     */<br>     $dbh &#61; null;<br> } catch (PDOException $e) {<br>     die (&#34;Error!: &#34; . $e->getMessage() . &#34;<br/>&#34;);<br> }<br> //默认这个不是长连接&#xff0c;如果需要数据库长连接&#xff0c;需要最后加一个参数&#xff1a;array(PDO::ATTR_PERSISTENT &#61;> true) 变成这样&#xff1a;<br> $db &#61; new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT &#61;> true));<br><br> ?></p>
<p>很简单吧&#xff0c;接下来就让我们来具体看下PHP PDO具体说明&#xff1a;</p>
<ul><li><ahref="https://www.runoob.com/php/php-pdo-constants.html">预定义常量</a></li><li><ahref="https://www.runoob.com/php/php-pdo-connections.html">PHP PDO连接连接管理</a></li><li><ahref="https://www.runoob.com/php/php-pdo-transactions.html">PHP PDO 事务与自动提交</a></li><li><ahref="https://www.runoob.com/php/php-pdo-prepared-statements.html">PHP PDO 预处理语句与存储过程</a></li><li><ahref="https://www.runoob.com/php/php-pdo-error-handling.html">PHP PDO 错误与错误处理</a></li><li><ahref="https://www.runoob.com/php/php-pdo-lobs.html">PHP PDO 大对象 (LOBs)</a></li><li>PDO 类&#xff1a;
<ul><li><ahref="https://www.runoob.com/php/pdo-begintransaction.html">PDO::beginTransaction</a> — 启动一个事务</li><li><ahref="https://www.runoob.com/php/pdo-commit.html">PDO::commit</a> — 提交一个事务</li><li><ahref="https://www.runoob.com/php/pdo-construct.html">PDO::__construct</a> — 创建一个表示数据库连接的 PDO 实例</li><li><ahref="https://www.runoob.com/php/pdo-errorcode.html">PDO::errorCode</a> — 获取跟数据库句柄上一次操作相关的 SQLSTATE</li><li><ahref="https://www.runoob.com/php/pdo-errorinfo.html">PDO::errorInfo</a> — 返回最后一次操作数据库的错误信息</li><li><ahref="https://www.runoob.com/php/pdo-exec.html">PDO::exec</a> — 执行一条 SQL 语句&#xff0c;并返回受影响的行数</li><li><ahref="https://www.runoob.com/php/pdo-getattribute.html">PDO::getAttribute</a> — 取回一个数据库连接的属性</li><li><ahref="https://www.runoob.com/php/pdo-getavailabledrivers.html">PDO::getAvailableDrivers</a> — 返回一个可用驱动的数组</li><li><ahref="https://www.runoob.com/php/pdo-intransaction.html">PDO::inTransaction</a> — 检查是否在一个事务内</li><li><ahref="https://www.runoob.com/php/pdo-lastinsertid.html">PDO::lastInsertId</a> — 返回最后插入行的ID或序列值</li><li><ahref="https://www.runoob.com/php/pdo-prepare.html">PDO::prepare</a> — 备要执行的SQL语句并返回一个 PDOStatement 对象</li><li><ahref="https://www.runoob.com/php/pdo-query.html">PDO::query</a> — 执行 SQL 语句&#xff0c;返回PDOStatement对象,可以理解为结果集</li><li><ahref="https://www.runoob.com/php/pdo-quote.html">PDO::quote</a> — 为SQL语句中的字符串添加引号。</li><li><ahref="https://www.runoob.com/php/pdo-rollback.html">PDO::rollBack</a> — 回滚一个事务</li><li><ahref="https://www.runoob.com/php/pdo-setattribute.html">PDO::setAttribute</a> — 设置属性</li></ul></li><li>PDOStatement 类&#xff1a;
<ul><li><ahref="https://www.runoob.com/php/pdostatement-bindcolumn.html">PDOStatement::bindColumn</a> — 绑定一列到一个 PHP 变量</li><li><ahref="https://www.runoob.com/php/pdostatement-bindparam.html">PDOStatement::bindParam</a> — 绑定一个参数到指定的变量名</li><li><ahref="https://www.runoob.com/php/pdostatement-bindvalue.html">PDOStatement::bindValue</a> — 把一个值绑定到一个参数</li><li><ahref="https://www.runoob.com/php/pdostatement-closecursor.html">PDOStatement::closeCursor</a> — 关闭游标&#xff0c;使语句能再次被执行。</li><li><ahref="https://www.runoob.com/php/pdostatement-columncount.html">PDOStatement::columnCount</a> — 返回结果集中的列数</li><li><ahref="https://www.runoob.com/php/pdostatement-debugdumpparams.html">PDOStatement::debugDumpParams</a> — 打印一条 SQL 预处理命令</li><li><ahref="https://www.runoob.com/php/pdostatement-errorcode.html">PDOStatement::errorCode</a> — 获取跟上一次语句句柄操作相关的 SQLSTATE</li><li><ahref="https://www.runoob.com/php/pdostatement-errorinfo.html">PDOStatement::errorInfo</a> — 获取跟上一次语句句柄操作相关的扩展错误信息</li><li><ahref="https://www.runoob.com/php/pdostatement-execute.html">PDOStatement::execute</a> — 执行一条预处理语句</li><li><ahref="https://www.runoob.com/php/pdostatement-fetch.html">PDOStatement::fetch</a> — 从结果集中获取下一行</li><li><ahref="https://www.runoob.com/php/pdostatement-fetchall.html">PDOStatement::fetchAll</a> — 返回一个包含结果集中所有行的数组</li><li><ahref="https://www.runoob.com/php/pdostatement-fetchcolumn.html">PDOStatement::fetchColumn</a> — 从结果集中的下一行返回单独的一列。</li><li><ahref="https://www.runoob.com/php/pdostatement-fetchobject.html">PDOStatement::fetchObject</a> — 获取下一行并作为一个对象返回。</li><li><ahref="https://www.runoob.com/php/pdostatement-getattribute.html">PDOStatement::getAttribute</a> — 检索一个语句属性</li><li><ahref="https://www.runoob.com/php/pdostatement-getcolumnmeta.html">PDOStatement::getColumnMeta</a> — 返回结果集中一列的元数据</li><li><ahref="https://www.runoob.com/php/pdostatement-nextrowset.html">PDOStatement::nextRowset</a> — 在一个多行集语句句柄中推进到下一个行集</li><li><ahref="https://www.runoob.com/php/pdostatement-rowcount.html">PDOStatement::rowCount</a> — 返回受上一个 SQL 语句影响的行数</li><li><ahref="https://www.runoob.com/php/pdostatement-setattribute.html">PDOStatement::setAttribute</a> — 设置一个语句属性</li><li><ahref="https://www.runoob.com/php/pdostatement-setfetchmode.html">PDOStatement::setFetchMode</a> — 为语句设置默认的获取模式。</li></ul></li></ul>
                </div>
      </div>
      <div id="treeSkill"></div>
页: [1]
查看完整版本: PHP PDO