Home  >  Article  >  Backend Development  >  How to connect to database in PHP using PDO

How to connect to database in PHP using PDO

王林
王林Original
2023-05-17 08:15:053420browse

PHP is a popular server-side scripting language whose main purpose is to develop web applications. Database connections are an important part of web applications, so in this article, we will introduce how to connect to a database using PHP Data Objects (PDO). PDO is an abstraction layer in PHP that provides a simple, safe and fast way to interact with a variety of databases. In this article, we will use MySQL as an example.

  1. Preparation

Before using PDO to connect to the database, you need to ensure that the PDO extension is installed in your PHP and that the extension is enabled. If not, you need to add the PDO extension to your PHP configuration file (php.ini). You can use the following command to determine whether you have enabled the PDO extension:

php -m | grep pdo

If you see PDO and PDO_MYSQL displayed in the list, then you are ready to use PDO to connect to the MySQL database.

  1. Connecting to MySQL database

The first step in connecting to MySQL database is to create a PDO object. In order to create a PDO object, you need to provide the following information:

  • Data source name (DSN): Indicates the type and location of the database you want to connect to.
  • Username and Password: The user account used to authenticate the connected database.

The following is a PDO code example for connecting to the MySQL database:

<?php
$hostname = 'localhost'; // MySQL主机名
$database = 'mydatabase'; // 数据库名称
$username = 'myusername'; // 用户名
$password = 'mypassword'; // 密码

try {
    $dsn = "mysql:host=$hostname;dbname=$database";
    $pdo = new PDO($dsn, $username, $password);
    echo '成功连接到数据库!';
} catch (PDOException $exception) {
    die('连接数据库时发生错误:'.$exception->getMessage());
}

In the above code, we use the variable $dsn to store the DSN connecting to the MySQL database. The format of this DSN is "mysql:host=host name;dbname=database name". Pass this DSN to the PDO constructor to create a PDO object. If the connection is successful, the text "Successfully connected to the database!" will be output. If an error occurs, using the catch block will output the error message.

  1. Query MySQL Database

After connecting to a MySQL database, you can perform various queries to retrieve data and update the database. Here are some examples of using PDO to execute MySQL queries in PHP:

  • Query data:
$sql = "SELECT * FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute(['id' => 1]);
$result = $stmt->fetchAll();
print_r($result);

In the above example, we used the prepare method of PDO to Prepare query statements. Replace the part that needs to be modified in the query statement (that is, ":id" in "id = :id") with placeholders. We use the execute method to execute the query statement and pass it the placeholder value to be queried. Finally, the results are returned as an array using the fetchAll method.

  • Insert data:
$sql = "INSERT INTO users (name, email) VALUES (?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute(['John Doe', 'johndoe@example.com']);
echo $stmt->rowCount() . ' 行数据已添加到数据库';

In the above example, we use PDO's prepare method to prepare the query statement. Placeholders in query statements are replaced with "?" We use the execute method to execute the query statement and pass it the placeholder value to be inserted. Finally, get the number of inserted records through the rowCount method.

  • Update data:
$sql = "UPDATE users SET name = ? WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute(['Jane Doe', 1]);
echo $stmt->rowCount() . ' 行数据已更新';

In the above example, we use PDO's prepare method to prepare the query statement. Placeholders in query statements are replaced with "?" We use the execute method to execute the query statement and pass it the placeholder value to be updated. Finally, use the rowCount method to get the number of updated records.

  • Delete data:
$sql = "DELETE FROM users WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([1]);
echo $stmt->rowCount() . ' 行数据已删除';

In the above example, we use PDO's prepare method to prepare the query statement. Placeholders in query statements are replaced with "?" We use the execute method to execute the query statement and pass it the placeholder value to be deleted. Finally, use the rowCount method to get the number of deleted records.

  1. Close the database connection

After you complete the query operation on the database, it is best to close the database connection. This prevents unnecessary connections from being maintained for the remainder of the script's execution and reduces resource consumption on the database server during periods of high load. When using PDO to connect to a MySQL database in PHP, you can use the following code to close the connection:

$pdo = null;

In the above code, $pdo is the PDO object we created when connecting to the MySQL database. When the pdo object is closed, the pdo object is destroyed and the connection to the database is released so that new database connections can be established with other clients.

Summary

Using PHP Data Objects (PDO) to connect to the MySQL database makes it easier and faster for us to perform database operations. In this article, we introduced the basic methods of how to use PDO objects for database connections and queries. If you want to understand more details and advanced features of PDO, you can refer to the official PHP documentation and increase your experience through continuous practice.

The above is the detailed content of How to connect to database in PHP using PDO. 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