Home  >  Article  >  Backend Development  >  Detailed explanation of using PDO constructor to connect to database and DSN

Detailed explanation of using PDO constructor to connect to database and DSN

黄舟
黄舟Original
2017-04-28 17:37:164438browse

Detailed explanation of using the PDO constructor to connect to the database and DSN

pdo is a newly added database abstraction layer in php5, in order to solve the problem of accessing a unified interface for different databases . It is similar to the operation of PEAR::DB class and ADODB class, but it is directly encapsulated in PHP extension and can be used freely.

In the previous article "What is PDO? In "Overview of PDO Characteristics and How to Install PDO", we introduced what PDO is, introduced the characteristics and installation of PDO, so in this article we introduce the PDO constructor to connect to the database and DSN details!

PDO constructor connects to the database

In PDO, to establish a database connection, you need to instantiate the PDO constructor. The PDO constructor The syntax format is as follows:

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

The parameter description of the constructor is as follows:

dsn: data source name, including host name, port number and database name.

username: the username to connect to the database.

password: Password for connecting to the database.

driver_options: Other options for connecting to the database.

Then we will directly use an example to explain how to connect to the MySQL database through PDO. The specific code is as follows:

<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbName=$dbName ";       
try{                                             //捕获异常
    $pdo = new PDO($dsn,$user,$pwd);             //实例化对象
    echo  "PDO连接数据库成功";
}catch (Exception $e){
    echo $e->getMessage()."<br>";
}

The output result of the page is as follows:

Detailed explanation of using PDO constructor to connect to database and DSN

Note: If any of the above fields are filled in incorrectly, an exception will be thrown through the try catch statement!

DSN detailed explanation

What is DSN?

DSN is the abbreviation of Data Source Name. DSN provides the information needed to connect to the database. The DSN of PDO includes 3 parts: PDO driver name (such as: mysql, sqlite or pgsql), colon and driver-specific syntax. Each database has its own specific driver syntax.

When using different databases, it must be clear that the database server is completely independent from PHP and is an entity. However, in actual situations, the database server and the Web server may not be on the same computer. In this case, when you need to connect to the database through PDO, modify the host name in the DSN.

Because the database server only listens for connection requests on a specific port. Each database server has a default port number (MySQL is 3306), but the database administrator can modify the port number, so it is possible that PHP cannot find the port number of the database. In this case, the port number can be included in the DSN. For example:

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

Since there may be multiple databases in one database at the same time, when connecting to the database through DSN, the database name is usually included. This can ensure that the database that the user wants is connected, not other databases. Got it!

This is where we introduce the detailed explanation of using the PDO constructor to connect the database and DSN. You can test it locally. Then we will introduce to you several methods of executing SQL statements in PDO. For details, please Read "Three ways to execute SQL statements in PDO"!

The above is the detailed content of Detailed explanation of using PDO constructor to connect to database and DSN. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn