19.2 PDO连接数据库
19.2.1 PDO构造函数
在PDO中,要建立与数据库的连接需要实例化PDO的构造函数。PDO构造函数的语法如下:
__construct(string $dsn[, string $username[, string $password[, array $driver_options]]])
构造函数的参数说明如下。
dsn:数据源名,包括主机名端口号和数据库名称。
username:连接数据库的用户名。
password:连接数据库的密码。
driver_options:连接数据库的其他选项。
通过PDO连接mysql数据库的代码如下:
<?p header("Content-Type:text/html; charset=utf-8"); //设置页面的编码格式 $dbms='mysql'; //数据库类型 $dbName='db_database19'; //使用的数据库名称 $user='root'; //使用的数据库用户名 $pwd='111'; //使用的数据库密码 $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>"; } ?>
19.2.2 DSN详解
DSN是Data Source Name(数据源名称)的缩写。DSN提供连接数据库需要的信息。PDO的DSN包括3部分:PDO驱动名称(如mysql、sqlite或者pgsql);冒号和驱动特定的语法。每种数据库都有其特定的驱动语法。
在使用不同的数据库时,必须明确数据库服务器是完全独立于PHP的实体。虽然笔者在讲解本书的内容时,数据库服务器和web服务器是在同一台计算机上,但是实际的情况可能不是如此。数据库服务器可能与Web服务器不是在同一台计算机上,此时要通过PDO连接数据库,就需要修改DSN中的主机名称。
由于数据库服务器只在特定的端口上监听连接请求,每种数据库服务器具有一个默认的端口号(MySQL是3306),但是数据库管理员可以对端口号进行修改,所以PHP有可能找不到数据库的端口,此时就可以在DSN中包含端口号。
另外,由于一个数据库服务器中可能拥有多个数据库,所以在通过DSN连接数据库时,通常都包括数据库名称,这样可以确保连接的是想要的数据库,而不是其他人的数据库。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。