PDO方式连接数据库、PHP连接数据库
文章目录
- 一、什么是PDO?
- 二、PDO的作用与特点
- 2.1 统一各种数据库的访问接口
- 三、PDO的启用
- 3.1 我们可以使用 phpinfo() 函数来查看是否开启。
- 四、通过PDO连接数据库
- 4.1 PDO的构造函数
- 4.1.1 exec()方法 返回执行后受影响的行数
- 4.1.2 query()方法 用于返回执行查询后的结果集
一、什么是PDO?
PDO是PHP Date Object(PHP数据对象)的简称,它是与PHP 5.1版本一起发行的。
目前支持的数据库包括Firebird、FreeTDS、Interbase、MySQL、MS SQL Server、ODBC、Oracle、Postgre SQL、SQLite和Sybase。
有了PDO,您不必再使用mysql_*函数、oci_*函数或者mssql_*函数,也不必再为它们封装数据库操作类,只需要使用PDO接口中的方法就可以对数据库进行操作。在选择不同的数据库时,只需修改PDO的DSN(数据源名称)。
在PHP 6中将默认使用PDO连接数据库,所有非PDO扩展将会在PHP 6中被移除。该扩展提供PHP内置类PDO来对数据库进行访问,不同数据库使用相同的方法名,以解决数据库连接不统一的问题。
二、PDO的作用与特点
2.1 统一各种数据库的访问接口
PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mssql函数库相比,PDO让跨数据库的使用更具有亲和力;与ADODB和MDB2相比,PDO更高效。
三、PDO的启用
PDO是与PHP 5.1一起发行的,默认包含在PHP 5.1中。
由于PDO需要PHP 5.0核心面向对象特性的支持,因此其无法在PHP 5.0之前的版本中使用。
默认情况下,PDO在PHP 5.2中为开启状态,但是要启用对某个数据库驱动程序的支持,仍需要进行相应的配置操作。
- 在Windows环境下,PDO在php.ini文件中进行配置,如果想支持某个特定数据库,只需要把php.ini 文件里边所对应的 ;号 去掉即可。
我们先找到php.ini 配置文件,然后进入
搜索 pdo_
可以看到我们这里只打开了 mysql和sqlite。
注意:开启过后需要重启Apache
3.1 我们可以使用 phpinfo() 函数来查看是否开启。
可以看到我们成功开启!
四、通过PDO连接数据库
4.1 PDO的构造函数
在PDO中,要建立与数据库的连接需要实例化PDO的构造函数,PDO构造函数的语法如下:
__construct(string $dsn[,string $username[,string $password[,array $driver_options]]])
- dsn:数据源名,包括主机名、端口号和数据库名称。
- username:连接数据库的用户名。
- password:连接数据库的密码。
- driver_options:连接数据库的其他选项。
格式:mysql,db_databvase17,127.0.0.1,root,123456
实例:
$dbms='mysql';//数据库类型
$host='127.0.0.1';//数据库主机名 也可以是127.0.0.1
$dbName='db_database17';//使用的数据库名称
$user='root';//用户名
$pass='123456';//对应的密码
$dsn="$dbms:dbname=$dbName;host=$host";$conn= new PDO($dsn,$user,$pass);//初始化一个PDO对象,就是创建了连接数据库的对象 $conn
构造函数用于,构造PDO对象,有了这个对象,我们我就可以使用里边的方法来访问数据库。
4.1.1 exec()方法 返回执行后受影响的行数
exec()方法返回执行后受影响的行数,:
通常用于 INSERT、DELETE和UPDATE语句中。
实例:
try{$conn= new PDO($dsn,$user,$pass);//初始化一个PDO对象,就是创建了连接数据库的对象 $conn$query="insert into tb_pdo_mysql(pdo_type,database_name,dates)values('".$_POST['pdo']."','".$_POST['databases']."','".$_POST['dates']."')";$result=$conn->exec($query);echo "数据添加成功,受影响的行数为:".$result;
} catch (PDOException $e){die ("Error!:".$e->getMessage().'<br/>');
}
效果:
4.1.2 query()方法 用于返回执行查询后的结果集
query()方法用于返回执行查询后的结果集:
实例:
try{$pdo = new PDO($dsn,$user,$pass);$sql = 'select * from tb_pdo_mysql';$result = $pdo->query($sql);foreach ($result as $row) {echo "<tr align='center'>"."<td>".$row['id']."</td>";echo "<td>".$row['pdo_type']."</td>";echo "<td>".$row['database_name']."</td>";echo "<td>".$row['dates']."</td>"."</tr>";}} catch (PDOException $e){die ("Error!:".$e->getMessage().'<br/>');
}
效果:
PDO方式连接数据库、PHP连接数据库相关推荐
- php mysql 替换 pdo,php操作MySQL数据库之PDO方式
这篇文章主要介绍了关于php操作MySQL数据库之PDO方式 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下基本使用 1)连接数据库$pdo = new PDO("mysql ...
- 一个关于php使用pdo方式进行数据库连接和处理的类
<?php /** @DB Operates For PDO @author:MeeeeN @date:2015-10-22 22:40:32 **/ //定义数据库信息 header(&quo ...
- mysql font连接数据库_MySQL-Front连接数据库的详细操作流程
今天我们来学习一下MySQL-Front连接数据库的详细操作流程,有不清楚的用户,一起来学习一下吧. MySQL-Front连接数据库的详细操作流程 打开MySQL-Front: 如果你是第一次使用, ...
- oracle改连接数据库,oracle连接数据库以及增删改查(全面)
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...
- PHP使用PDO方式的经验总结:连接 增删改查
连接 public function pdo(){if (ENV == 'test') {$host = '2243.519.1106.725';$user = 'ttt';$pwd = 'ttt'; ...
- php pdo mysql类源码_php pdo数据库类(提取自微擎的pdo方式处理数据库类库)
推荐:php zip文件压缩类库源码文件很实用的php zip压缩类库,内含两个php zip源码文件,可以直接下载使用,可以节省php web开发者大量的时间! mb5u.com 一个很实用的php ...
- sql server与java连接数据库_Java连接数据库(SQL Server)
这个学期也接近尾声了,意味着课程设计也快要开始. 这一学期学校开了数据库教程原理和Java程序设计,在之前我就一直在学Java基础,现在JavaSE这一部分应该也学的差不多了,也有在学SQL Serv ...
- PHP PDO 连接SQLSErver,PHP 使用 PDO 方式连接 sqlserver ,拼接 的 sql 命令总是报错
$sql = "Declare @v1 varchar(5000)"; $sql .="Declare @v2 varchar(5000)"; $sql .=& ...
- php连接mysql总结_php连接数据库的三种方式的总结
在我们访问 MySQL 数据库前,我们需要先连接到数据库服务器: 以面向对象的方式mysqli //采用面向对象的方式连接数据库 $username = 'root'; $password = 'ro ...
最新文章
- AOI检测基本原理与设备构成
- mapreduce 丢数据_大数据之MapReduce详解
- postgresql windows 开发环境搭建
- “请给我一个五彩斑斓的黑”,只需一行命令就能让AI画画,OpenAI的Dall-E被大神复现...
- oracle体系结构剖析
- 「新闻」Google Science Fair
- kafka使用_Kafka 消费者的使用和原理
- linux中sed命令用例,sed解析和用例(马哥视频笔记)
- Python 操作 mongodb 数据库
- 《图解算法》第九章之动态规划
- WPS简历模板的图标怎么修改_新媒体运营-简历模板范文,【工作经历+项目经验+自我评价】怎么写?...
- froglt教你使用色相环配色(原创理论)
- kafka启动之后秒退的原因
- CS143 6、7. 自顶向下和自底向上的语法分析
- nginx负载均衡(权重)
- IAST 在去哪儿 Q-SDL 体系中的应用
- Ubuntu中文语言包下载失败解决方法
- 计算机病毒不可能侵入rom吗,计算机试题选择题重点1
- 我爱打折网55bbs被网易1800万收购
- Currency Translation in Bex Query Variable 2
热门文章
- OpenSSL命令--x509
- 欢(nan)乐(shou)纪中培训(Day 2)
- 傅里叶-梅林变换实现图像配准
- 为什么中国没有人来打破 Windows 98% 的垄断地位?
- CCRC信息安全服务资质--安全运维申请
- MySQL 与 mysql-connection-java 版本不对应导致出现 SQLException: Could not retrieve transation read-onl status
- 【三下乡】感悟文艺魅力,绽放绚丽青春——长江师范学院“青春星火筑梦团”开展“七彩课堂”活动
- 仲恺农业工程学院计算机专业怎么样,仲恺农业工程学院好就业吗?附学校就业率最高的专业名单...
- 几何画板教程:几何画板特色大揭秘!
- 花书和统计课程 目录