天涯论坛

 找回密码
 立即注册
搜索
查看: 60|回复: 3

PDO方式连接数据库、PHP连接数据库

[复制链接]

3055

主题

155

回帖

9923万

积分

论坛元老

Rank: 8Rank: 8

积分
99238925
发表于 2024-7-10 18:29:52 | 显示全部楼层 |阅读模式
点击进入“PHP开源社区”    免费获取进阶面试、文档、视频资源

1.什么是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来对数据库进行拜访区别数据库运用相同的办法名,以处理数据库连接不统一的问题。

2.PDO的功效与特点

统一各样数据库的拜访接口

PDO是一个“数据库拜访抽象层”,功效是统一各样数据库的拜访接口,与mysql和mssql函数库相比,PDO让跨数据库的运用拥有亲和力;与ADODB和MDB2相比,PDO更有效

3.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

咱们能够运用 phpinfo() 函数来查看是不是开启。

能够看到咱们成功开启!

4.经过PDO连接数据库

 DO的构造函数

在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 DO($dsn,$user,$pass);//初始化一个PDO对象,便是创建了连接数据库的对象 $conn

构造函数用于构造PDO对象,有了这个对象,咱们我就能够运用里边的办法拜访数据库。

1).exec()办法 返回执行后受影响的行数

exec()办法返回执行后受影响的行数,:

一般用于 INSERTDELETEUPDATE

语句中。

实例: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/>);}

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/>);}

*声明:本文于网络整理,版权归原作者所有,如源自信息有误或侵犯权益,请联系咱们删除或授权事宜。

ENDPHP开源社区

扫描关注  进入”PHP资料“

免费获取进阶

面试、文档、视频资源

点击“查看原文”获取更加多




上一篇:WEB中运用PHP连接MySQL的办法?
下一篇:PHP程序员的岗位职责有哪些?PHP研发程序员是做什么的?
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-8-21 02:39:50 | 显示全部楼层
你的见解独到,让我受益匪浅,期待更多交流。
回复

使用道具 举报

22

主题

876

回帖

898

积分

高级会员

Rank: 4

积分
898
发表于 2024-9-1 12:06:59 | 显示全部楼层
一看到楼主的气势,我就觉得楼主同在社区里灌水。
回复

使用道具 举报

3057

主题

2万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139067
发表于 昨天 01:20 | 显示全部楼层
外链论坛的成功举办,是与各位领导、同仁们的关怀和支持分不开的。在此,我谨代表公司向关心和支持论坛的各界人士表示最衷心的感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-22 11:17 , Processed in 0.219317 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.