数据库抽象层PDO(PHP Date Object 缩写)
通过一致的函数执行查询和获取数据,简化数据库操作,屏蔽不同数据库之间的差异,方便移植。
一定确保php配置文件中激活了扩展模块,编辑php.ini文件
extension=php_pdo.dll //所有PDO 驱动程序共享的扩展,必须有
//使用什么数据看就激活哪一个
extention=php_pdo_mysql.dll //MySQL
extention=php_pdo_odbc.dll //ODBC
extention=php_pdo_mssql.dll //SQL Server
extention=php_pdo_oci.dll //Oracle
重启web服务器,使用phpinfo() 函数 查看
<?php $dsn ='mysql:host=localhost;dbname=bookstore';//注:之间不要有多余的空格 $user = 'root'; $password = '1234567'; try { $dbh = new PDO($dsn,$user,$password); echo '连接成功!'.'<br>'; } catch (PDOException $e) { echo '连接数据库失败:'.$e->getMessage().'<br>'; exit(); } ?>
<?php $dsn ='mysql:host=localhost;dbname=bookstore';//注:之间不要有多余的空格 $user = 'root'; $password = '1234567'; try { $dbh = new PDO($dsn,$user,$password); echo '连接成功!'.'<br>'; } catch (PDOException $e) { echo '连接数据库失败:'.$e->getMessage().'<br>'; exit(); } <span style="white-space:pre"> </span>$insertdata = "insert into books (bookName,publisher,price) values ('计算机网络','电子工业出版社','28')"; $affected = $dbh->exec($insertdata); if ($affected) { echo '数据表book受影响的行数为:'.$affected.'<br>'; }else{ print_r($dbh->errorInfo()); } ?>2.使用PDO::query() 方法
<?php //数据库抽象层PDO (PHP Data Object) $dsn ='mysql:host=localhost;dbname=bookstore'; $user = 'root'; $password = '1234567'; try { $dbh = new PDO($dsn,$user,$password); echo '连接成功!'.'<br>'; } catch (PDOException $e) { echo '连接数据库失败:'.$e->getMessage().'<br>'; exit(); } <span style="white-space:pre"> </span>//使用PDO::query()方法 $selectdata = "select bookName,publisher,price from books where publisher='电子工业出版社'"; try{ $pdostatement = $dbh->query($selectdata); echo '一共从表中获取到'.$pdostatement->rowCount().'条记录:<br>'; foreach ($pdostatement as $row) { echo $row['bookName']."\t"; echo $row['publisher']."\t"; echo $row['price']."\t"; echo '<br>'; } }catch (PDOException $e){ echo $e.getMessage(); print_r($dbh->errorInfo()); } ?>3.PDO预处理语句