PDO连接数据库及DSN详解

PDO构造函数

在PDO中,要建立与数据库的连接需要实例化PDO的构造函数,PDO构造函数的语法如下:

__construct(string $dsn[,string $username[,string $password[,array $driver_options]]])

参数说明如下

dsn:数据源名,包括主机名,端口号和数据库名称。

username:连接数据库的用户名

password:连接数据库的密码

driver_options:连接数据库的其他选项

例如:

$dbms='mysql';
$dbName='admin';
$user='root';
$pwd='password';
$host='localhost';
$dsn="$dbms:host=$host;dbname=$dbName";
try{
    $pdo=new PDO($dsn,$user,$pwd);
    echo "PDO连接MySQL成功";
}catch(Exception $e){
    echo $e->getMessage().'<br>';
}

运行结果为:

PDO连接MySQL成功

如果上面有的地方填错了,会通过try catch语句抛出异常

DSN详解

DSN是Data Source Name(数据源名称)的首字母缩写。DSN提供连接数据库需要的信息。PDO的DSN包括3部分:PDO驱动名称(如:mysql、sqlite或者pgsql)、冒号和驱动特定的语法。每种数据库都有其特定的驱动语法。

实际中有一些数据库服务器可能与web服务器不在同一台计算机上,则需要修改DSN中的主机名称。

由于数据库服务器只在特定的端口上监听连接请求,故每种数据库服务器具有一个默认的端口号(MySQL是3306),但是数据库管理员可以对端口号进行修改,因此有可能PHP找不到数据库的端口号,此时就可以在DSN中包含端口号。

例如:

$dsn="mysql:host=127.0.0.1;port=3306;dbname=admin";

另外,由于一个数据库服务器中可能拥有多个数据库,所以在通过DSN连接数据库时,通常都包括数据库名称,这样可以确保连接的

是用户想要的数据库,而不是其他数据库。

时间: 2024-10-13 15:27:14

PDO连接数据库及DSN详解的相关文章

Php学习之连接数据库的步骤详解

本文和大家分享的主要是php中连接数据库的8大步骤,一起来看看吧,希望对大家学习php有所帮助. Step1:链接数据库 mysqli_connect() 参数:   ①主机地址 ②mysql用户名 ③mysql密码 ④选择连接的数据库 ⑤端口号 返回:如果连接成功,返回资源类型的标志符号:如果连接失败,返回false. 如果我们与mysql建立的连接不只一条,那么以后操作数据库的各种函数都必须传入返回的连接符号: 如果我们与mysql建立的连接只有一条,那么以后操作数据库的各种函数就不必传入这

python使用mysqldb连接数据库操作方法示例详解

# -*- coding: utf-8 -*-       #mysqldb  # site www.jbxue.com  import time, MySQLdb     #连接    conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8")  cursor = conn.cursor()  

PHP PDO函数库详解

文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/565 PDO是一个"数据库访问抽象层",作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效. 目前而言,实现"数据库抽象层"任重而道远,使用PDO这样的"数据库访问抽象层"是一个不错的选择. 目前而言,实现"数据库抽象层"

php中的PDO函数库详解

PHP中的PDO函数库详解 PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效.目前而言,实现“数据库抽象层”任重而道远,使用PDO这样的“数据库访问抽象层”是一个不错的选择. PDO中包含三个预定义的类 PDO中包含三个预定义的类,它们分别是 PDO.PDOStatement 和 PDOException. 一.PDO PDO->beginTransaction(

PDO中获取结果集之fetchColumn()方法详解

fetchCloumn()方法是获取结果集中下一行指定列的值,从结果集中的下一行返回单独的一列.直线电机品牌 那么我们在前面两篇文章<PDO中获取结果集之fetchAll()方法详解>和<PDO中获取结果集之fetch()方法详解>中我们介绍了两种类似的PDO中获取结果集的方法,那么我们接下来跟大家介绍fetchColumn()方法! 下面我们先看下fetchColumn()方法的语法格式如下: 1 string PDOStatement::fetchColumn ([ int $

PDO中获取结果集之fetchAll()方法详解

fetchAll()方法是获取结果集中的所有行,返回一个包含结果集中所有行的二进制数组!大理石机械构件维修厂家 那么在上一篇<PDO中获取结果集之fetch()方法详解>中,我们介绍了fetch()方法获取结果集,我们今天将要介绍的fetchAll()方法与上一个方法fetch()类似,但是该方法只需要调用一次就可以获取结果集中的所有行,并赋给返回的数组(二维). fetchAll()方法的语法格式如下: 1 array PDOStatement::fetchAll ([ int $fetch

LAMP PHP 详解

目录 LAMP PHP 详解 LAMP 请求流程与原理 PHP 简介 PHP Zend Engine Opcode php 配置详解 php 加速器 部署LAMP 使用 php 连接 mysql 最基本的部署LAMP 部署PhpMyAdmin 部署wordpress 编译安装php-xcache访问加速器 LAMP PHP 详解 LAMP是一种生产环境中常用的web服务组合模型. LAM(M)P所表达的组成方式 L: linux A: apache (httpd) M: mysql, maria

Oracle 11g数据库详解(2015-1-18更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

Oracle 11g数据库详解(2015-02-28更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发