How to use PDO for database query operations in PHP
PHP PDO is an interface that can connect to multiple different databases. In PHP applications, it can connect PHP code with database systems such as MySQL, PostgreSQL, Oracle, etc. In this article, we will introduce how to use PDO for query operations.
- Connecting to the database
Before using PDO to query the database, you first need to establish a connection. The following is a sample code for connecting to a MySQL database:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>
This code will connect to the local MySQL database and prompt information about the success or failure of the connection. Through this example, we can see that PDO handles connection errors through exception handling.
- Querying a single row of data
Next, we will introduce how to use PDO to query a single row of data. The following is a sample code for querying a single row of data:
<?php $stmt = $conn->prepare("SELECT * FROM customers WHERE id = :id"); $stmt->bindParam(':id', $id); $id = 1; $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); echo "id: " . $result['id'] . "<br>"; echo "name: " . $result['name'] . "<br>"; echo "email: " . $result['email'] . "<br>"; ?>
This code will query a row of data in the database and output the results. First, we use the PDO::prepare() method to prepare the query statement, then use the bindParam() method to bind the query parameters to the placeholders, then use the execute() method to execute the query, and finally use the fetch() method to fetch Return query results.
- Querying multi-row data
PDO also supports querying multi-row data. The following is a sample code for querying multiple rows of data:
<?php $stmt = $conn->prepare("SELECT * FROM customers"); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach($result as $row) { echo "id: " . $row['id'] . "<br>"; echo "name: " . $row['name'] . "<br>"; echo "email: " . $row['email'] . "<br>"; echo "<hr>"; } ?>
This code uses the fetchAll() method to query multiple rows of data in the database and outputs each row of data in a loop. The fetchAll() method returns a two-dimensional array, and we can use foreach to traverse each row of data.
- Query data and display it in pages
In web applications, we usually need to page the query results. The following is a sample code to query data and display it in pages:
<?php $records_per_page = 10; $page = isset($_GET['page']) ? $_GET['page'] : 1; $stmt = $conn->prepare("SELECT * FROM customers LIMIT :offset, :records_per_page"); $stmt->bindParam(':offset', ($page - 1) * $records_per_page, PDO::PARAM_INT); $stmt->bindParam(':records_per_page', $records_per_page, PDO::PARAM_INT); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach($result as $row) { echo "id: " . $row['id'] . "<br>"; echo "name: " . $row['name'] . "<br>"; echo "email: " . $row['email'] . "<br>"; echo "<hr>"; } $stmt = $conn->prepare("SELECT COUNT(*) FROM customers"); $stmt->execute(); $total_records = $stmt->fetchColumn(); $total_pages = ceil($total_records / $records_per_page); echo "<div>"; for($i = 1; $i <= $total_pages; $i++) { echo "<a href='?page=$i'>$i</a> "; } echo "</div>"; ?>
The code first defines the record number and page number variables, and then adds them to the query statement. In the loop, we output each row of data. Next, we query the total number of records and calculate the total number of pages. Finally, we output the paginated link.
Conclusion
The above are some examples of using PDO to query the database with PHP. These codes can help you use PDO query statements correctly in your PHP applications.
The above is the detailed content of How to use PDO for database query operations in PHP. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8's JIT compilation enhances performance by compiling frequently executed code into machine code, benefiting applications with heavy computations and reducing execution times.

The article discusses OWASP Top 10 vulnerabilities in PHP and mitigation strategies. Key issues include injection, broken authentication, and XSS, with recommended tools for monitoring and securing PHP applications.

The article discusses securing PHP file uploads to prevent vulnerabilities like code injection. It focuses on file type validation, secure storage, and error handling to enhance application security.

The article discusses symmetric and asymmetric encryption in PHP, comparing their suitability, performance, and security differences. Symmetric encryption is faster and suited for bulk data, while asymmetric is used for secure key exchange.

The article discusses implementing robust authentication and authorization in PHP to prevent unauthorized access, detailing best practices and recommending security-enhancing tools.

Article discusses retrieving data from databases using PHP, covering steps, security measures, optimization techniques, and common errors with solutions.Character count: 159

The article discusses strategies to prevent CSRF attacks in PHP, including using CSRF tokens, Same-Site cookies, and proper session management.

The article discusses the mysqli_query() and mysqli_fetch_assoc() functions in PHP for MySQL database interactions. It explains their roles, differences, and provides a practical example of their use. The main argument focuses on the benefits of usin
