为什么要用PDO?

答:避免因项目更换数据库而造成大量重复劳动的SQL语句重写


PDO对象成员方法主要有哪些?



1.三种PDO的连接数据库的方法:

<?php
//$mysqli=new mysqli("localhost","user","password","dbname");
//PDO对象初始化
try{
    //3种PDO的连接数据库方法
    //1. $pdo=new PDO("mysql:host=localhost;dbname=myapp","root","");
    //2. $pdo=new PDO("uri:mysqlPdo.ini","root","");
    //3. $pdo=new PDO("mysqlpdo","root","");
    $pdo=new PDO("mysqlpdo","root","");

}catch (PDOException $e){
    die("fail to connect db".$e->getMessage());
}
//查看属性
$attributes  = array(
    "AUTOCOMMIT" ,  "ERRMODE" ,  "CASE" ,  "CLIENT_VERSION" ,  "CONNECTION_STATUS" ,
    "ORACLE_NULLS" ,  "PERSISTENT" ,  "PREFETCH" ,  "SERVER_INFO" ,  "SERVER_VERSION" ,
    "TIMEOUT"
);

foreach ( $attributes  as  $val ) {
    echo  "PDO::ATTR_ $val : " ;
    echo  $pdo ->getAttribute ( constant ( "PDO::ATTR_ $val " ))."<br/>" ;
}
//print_r($pdo);
2.PDO实现数据库的增删改查:

<?php
/**
 * 查询数据
 */
//1.连接数据库
try{
    $pdo=new PDO("mysql:host=localhost;dbname=myapp","root","");
}catch (PDOException $e){
    die("fail to connect mysql".$e->getMessage());
}
//print_r($pdo);

//2.执行query(查询)返回一个预处理对象,使用快捷方式
$sql="SELECT * FROM users";
foreach($pdo->query($sql) as $val){
    echo $val['id']."------".$val['name']."------".$val['age']."<br/>";
}

/**
 * 添加数据
 */
//$sql="INSERT INTO users VALUES(null,'Susan','29')";

/**
 * 更新数据
 */
//$sql="UPDATE users set name='Kill' WHERE id=1";

/**
 * 删除数据
 */
$sql="DELETE FROM users WHERE id=8";
$res=$pdo->exec($sql);
if($res){
    echo "success";
}



Logo

更多推荐