<?php
/*
* PDO 数据库的操作
* */
$dns = "mysql:dbname=bbs;host=localhost";
$user ="root";
$password="";
$opt = array(PDO::ATTR_PERSISTENT=>true);
$pdo = new PDO($dns,$user,$password,$opt);
/*
* getAttribute()查看数据库连接属性
* */
var_dump("是否关闭自动提交功能:".$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT));
var_dump("当家PDO错误处理的模式:".$pdo->getAttribute(PDO::ATTR_ERRMODE));
var_dump("表字段字符的大小写转换:".$pdo->getAttribute(PDO::ATTR_CASE));
var_dump("与连接状态相关的特有信息:".$pdo->getAttribute(PDO::ATTR_CONNECTION_STATUS));
var_dump("空字符串转换为SQL的NULL:".$pdo->getAttribute(PDO::ATTR_ORACLE_NULLS));
var_dump("应用程序提前获取数据大小:".$pdo->getAttribute(PDO::ATTR_PERSISTENT));
var_dump("与数据库特有的服务器信息:".$pdo->getAttribute(PDO::ATTR_SERVER_INFO));
var_dump("数据库服务器版本号信息:".$pdo->getAttribute(PDO::ATTR_SERVER_VERSION));
var_dump("数据库客户端版本号信息:".$pdo->getAttribute(PDO::ATTR_CLIENT_VERSION));
/*
* 两种执行方法
* exec 返回受影响的行数,用于 insert delete update
* query 用于查询,返回一个PDOstatement,可用于对每条信息的操作
* */
/*
*
$sql = "delete from news where id=16";
echo $pdo ->exec($sql);
--------------------------------------------------
quote 为SQL语句加转义
$sql=$pdo->quote("delete from news where id ='1'");
echo $sql; // 输出:'delete from news where id =\'1\''
--------------------------------------------------
lastInsertId
$sql = "insert into news values('','boy','boy')";
$pdo -> exec($sql);
echo "插入的记录的ID:".$pdo->lastInsertId();//得到最后一次插入记录的ID
--------------------------------------------------
其中里面一个最重要的方法就是 prepare($sql),返回一个PDOstatement,同样,还有一个返回PDOstatement 的方法是 query()用于查询数据
prepare($sql) 是对SQL 语句进行预处理,返回一个一个 PDOstatement对象,里面包含了很多有用的方法
下一节再记录PDOstatement属性与依法
--------------------------------------------------
下面是用于事务的操作
*
* */
$sql1 = "delete from news where id =21";
$sql2 = "delete from news where id =22";
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
try{
$pdo->beginTransaction();
$pdo->exec($sql1);
$pdo->exec($sql2);
}catch(Exception $ex)
{
$pdo->rollBack();
echo "数据库操作失败".$ex->getMessage();
}
?>
PHP PDO 数据库的连接与使用
最新推荐文章于 2024-06-30 16:59:44 发布