PHP PDO 数据库的连接与使用

<?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();
			}



?>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值