PDO连接数据库
来源:互联网 发布:centos教程 编辑:程序博客网 时间:2024/05/29 16:35
<?php
//第一种方法
$dsn='mysql: host=localhost; dbname=mysql';
$user='root';
$pass='root';
try{
$pdo = new PDO($dsn,$user,$pass,array(PDO::ATTR_PERSISTENT => true));
$pdo->query('set names utf8;');
//现在运行完成,在此关闭连接
//$pdo=null;
//catch部分是处理连接错误的
}catch(PDOException $e){
die("Error!:".$e->getMessage()."<br />");
}
a)详解
许多Web应用会因为使用了向数据库的持久连接而得到优化。持久连接不会在脚本结束时关闭,
相反它会被缓存起来并在另一个脚本通过同样的标识请求一个连接时得以重新利用。
持久连接的缓存可以使你避免在脚本每次需要与数据库对话时都要部署一个新的连接的资源消耗,让你的Web应用更加快速。
上面实例中的array(PDO::ATTR_PERSISTENT => true)就是把连接类型设置为持久连接。
//你还可以进行一次搜索操作
$db=$pdo->query('select * from administrator');
foreach($db as $row){
print_r($row);
}
//第二种方法
$dbms='mysql';
$host='localhost';
$dbName='mysql';
$user='root';
$pass='root';
$dsn="$dbms:host=$host;dbname=$dbName";
try{
$pdo = new PDO($dsn,$user,$pass);
}catch(PDOException $e){
die("Error!:".$e->getMessage()."<br />");
}
foreach($pdo->query('select * from administrator') as $row){
print_r($row);
}
//持久化连接
$pdo = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));
详解b) PDO中的事务
PDO->beginTransaction(),PDO->commit(),PDO->rollBack()这三个方法是在支持回滚功能时一起使用的。PDO->beginTransaction()方法标明起始点,PDO->commit()方法标明回滚结束点,并执行SQL,PDO->rollBack()执行回滚。
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', ‘root', ”);
$dbh->query('set names utf8;');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction();
$dbh->exec(”INSERT INTO `test`.`table` (`name` ,`age`)VALUES ('mick', 22);”);
$dbh->exec(”INSERT INTO `test`.`table` (`name` ,`age`)VALUES ('lily', 29);”);
$dbh->exec(”INSERT INTO `test`.`table` (`name` ,`age`)VALUES ('susan', 21);”);
$dbh->commit();
}catch (Exception $e) {
$dbh->rollBack();
echo “Failed: ” . $e->getMessage();
}
?>
//第一种方法
$dsn='mysql: host=localhost; dbname=mysql';
$user='root';
$pass='root';
try{
$pdo = new PDO($dsn,$user,$pass,array(PDO::ATTR_PERSISTENT => true));
$pdo->query('set names utf8;');
//现在运行完成,在此关闭连接
//$pdo=null;
//catch部分是处理连接错误的
}catch(PDOException $e){
die("Error!:".$e->getMessage()."<br />");
}
a)详解
许多Web应用会因为使用了向数据库的持久连接而得到优化。持久连接不会在脚本结束时关闭,
相反它会被缓存起来并在另一个脚本通过同样的标识请求一个连接时得以重新利用。
持久连接的缓存可以使你避免在脚本每次需要与数据库对话时都要部署一个新的连接的资源消耗,让你的Web应用更加快速。
上面实例中的array(PDO::ATTR_PERSISTENT => true)就是把连接类型设置为持久连接。
//你还可以进行一次搜索操作
$db=$pdo->query('select * from administrator');
foreach($db as $row){
print_r($row);
}
//第二种方法
$dbms='mysql';
$host='localhost';
$dbName='mysql';
$user='root';
$pass='root';
$dsn="$dbms:host=$host;dbname=$dbName";
try{
$pdo = new PDO($dsn,$user,$pass);
}catch(PDOException $e){
die("Error!:".$e->getMessage()."<br />");
}
foreach($pdo->query('select * from administrator') as $row){
print_r($row);
}
//持久化连接
$pdo = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));
详解b) PDO中的事务
PDO->beginTransaction(),PDO->commit(),PDO->rollBack()这三个方法是在支持回滚功能时一起使用的。PDO->beginTransaction()方法标明起始点,PDO->commit()方法标明回滚结束点,并执行SQL,PDO->rollBack()执行回滚。
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', ‘root', ”);
$dbh->query('set names utf8;');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction();
$dbh->exec(”INSERT INTO `test`.`table` (`name` ,`age`)VALUES ('mick', 22);”);
$dbh->exec(”INSERT INTO `test`.`table` (`name` ,`age`)VALUES ('lily', 29);”);
$dbh->exec(”INSERT INTO `test`.`table` (`name` ,`age`)VALUES ('susan', 21);”);
$dbh->commit();
}catch (Exception $e) {
$dbh->rollBack();
echo “Failed: ” . $e->getMessage();
}
?>
阅读全文
0 0
- pdo 连接操作数据库
- pdo连接数据库
- PDO连接数据库
- pdo连接数据库
- PDO连接数据库
- php pdo连接数据库
- pdo连接数据库
- pdo连接数据库
- PDO连接数据库
- PHP使用pdo连接数据库
- php pdo 连接db2 数据库
- php pdo 连接MySQL数据库
- php pdo连接mysql数据库
- PDO连接与操作数据库
- PHP数据库对象-PDO拓展 使用pdo连接数据库
- pdo连接数据库及pdo对象的方法介绍
- ADO And PDO 连接数据库例子
- PHP5中使用PDO连接数据库
- 第二天课程总结
- OverFeat论文理解
- 解决Activiti Modeler 部署中文流程 报错问题
- python+selenium初级(4)—selenium中对于鼠标的操作
- linux环境搭建nginx+tomcat7(安装篇)
- PDO连接数据库
- 一周二次课
- 【R语言 连接数据库 】RMySQL数据库编程指南
- luogu P1197 [JSOI2008]星球大战 并查集 逆向思维 邻接表
- Tomcat 8.x配置https,安装证书
- StAX处理XML
- Util工具类 判断时间是否在某段时间之内
- Git 常用命令学习
- java基础(十六) ---- unicode编码