PDO操作

2018-04-18  本文已影响0人  始于原子

基本配置和使用

连接数据库

$dsn = 'mysql::host=localhost;post=3306;charset=utf8;dbname=db1';
$pdo = new PDO($dsn,'root','123456');

增删改操作

$re = $pdo->exec('insert into table values("xxxx")');

查询操作

$pdostatement = $pdo->query($sql);

pdo
// 以字段名为下标返回一条数据,游标向下走
$pdostatement -> fetch(PDO::FETCH_ASSOC);
$pdostatement -> fetch(PDO::FETCH_ASSOC);

// 以索引下标返回一条数据,右边向下走
$pdostatement -> fetch(PDO::FETCH_NUM);
$pdostatement -> fetch(PDO::FETCH_NUM);

// 以索引下标和字段名下标返回一条数据,右边向下走
$pdostatement -> fetch(PDO::FETCH_BOTH);
$pdostatement -> fetch(PDO::FETCH_BOTH);

// 以字段名下标返回一条数据,右边向下走(返回数据为对象)
$pdostatement -> fetch(PDO::FETCH_OBJ);
$pdostatement -> fetch(PDO::FETCH_OBJ);
// 简写方式
$PDOStatement -> fetchObject();

// 一次性取得所有的查询数据 包括索引下标和字段下标
$pdostatement -> fetchAll();

// 获取数据的总行数
$pdostatement -> rowCount();

// 获取数据的总列数
$pdostatement -> columnCount();

PDO实现事务


pdo
// 开启事务
$pdo -> beginTransaction();
// 提交事务
$pdo -> commit();
// 事务回滚
$pdo -> rollBack();

预处理技术

$sql = 'insert into table values(:title,:content)';
$pdostatement = $pdo -> prepare($sql);
$data = array(':title' => '标题', ':content' => '内容' );
$pdostatement -> execute($data);

PDO中的异常处理

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
try{
    $sql = "insert into cz_usddddder (name, pwd) values ('曹操', '445566')";
    $re = $pdo->exec($sql);
}catch(PDOException $aa){
    echo '错误信息:' . $aa->getMessage() . '<br/>';
    echo '错误码值:' . $aa->getCode() . '<br/>';
    echo '错误文件:' . $aa->getFile() . '<br/>';
    echo '错误行号:' . $aa->getLine() . '<br/>';
}
上一篇 下一篇

猜你喜欢

热点阅读