PHP底层开发原理简易指南:数据库连接和查询

1. 概述

PHP 是一种通用开源、脚本语言,可以在 Web 开发领域被广泛使用,拥有多种编程范式、面向对象编程(OOP)以及函数式编程特性。 PHP 应用程序通常基于客户端与服务器之间的 HTTP 和 HTTPS 通信协议。

2. 数据库连接

2.1 选用适当的数据库

在 PHP 应用中,选用适当的关系型数据库非常重要。商用数据库如 Oracle、SQL Server 等,提供了更多的服务和支持,但开源数据库 MySQL 与 MariaDB 在功能、性能、兼容性、支持、社区方面也非常优秀,其在网站开发中应用非常广泛。

2.2 基本的数据库连接

在 PHP 应用程序中,连接 MySQL 数据库非常常见。通常使用标准的 MySQLi 扩展或 PDO 进行数据库连接。

以下是连接 MySQL 数据库的代码示例:

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

// 创建连接

$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接

if (!$conn) {

die("Connection failed: " . mysqli_connect_error());

}

echo "Connected successfully";

3. 数据库查询

3.1 基本查询语句

MySQL 查询通常使用 SELECT 语句。以下是一个基本的 SELECT 查询示例:

$sql = "SELECT id, firstname, lastname FROM MyGuests";

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {

// 输出数据

while($row = mysqli_fetch_assoc($result)) {

echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "";

}

} else {

echo "0 结果";

}

以上示例中,使用 mysqli_query 函数向数据库发出查询请求,并将结果保存在 $result 变量中。mysqli_num_rows 函数判断结果集中的行数是否大于 0,如果大于 0,则使用 mysqli_fetch_assoc 函数遍历每行结果,再将每行数据赋给 $row 变量。

3.2 增删改查操作

以下是 MySQL 中常用的增删改查操作的示例:

// 插入数据

$sql = "INSERT INTO MyGuests (firstname, lastname, email)

VALUES ('John', 'Doe', 'john@example.com')";

if (mysqli_query($conn, $sql)) {

echo "New record created successfully";

} else {

echo "Error: " . $sql . "" . mysqli_error($conn);

}

// 更新数据

$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";

if (mysqli_query($conn, $sql)) {

echo "Record updated successfully";

} else {

echo "Error updating record: " . mysqli_error($conn);

}

// 删除数据

$sql = "DELETE FROM MyGuests WHERE id=3";

if (mysqli_query($conn, $sql)) {

echo "Record deleted successfully";

} else {

echo "Error deleting record: " . mysqli_error($conn);

}

// 查询数据

$sql = "SELECT * FROM MyGuests";

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {

// 输出数据

while($row = mysqli_fetch_assoc($result)) {

echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "";

}

} else {

echo "0 结果";

}

4. 结论

PHP 应用程序与 MySQL 数据库之间的交互,主要通过 MySQLi 扩展和 PDO 进行。在连接数据库和查询数据时,需要根据需求和实际情况,选择适当的数据库和编程接口。在查询数据时,很多时候会使用到 SELECT 语句,还有常见的增删改查操作,开发者使用时需要善加利用。

后端开发标签