PHP MySQL SELECT 查询

2025年5月14日 | 阅读 5 分钟

SQL 使用 SELECT 语句从数据库中检索信息。PHP 通过 MySQLi(过程式和面向对象方法)和 PDO 提供数据库查询功能。本教程包括过程式和面向对象方法,展示了原始表以及通过查询检索的表的一部分。

在 SELECT 查询中还使用了另外两个 MySQLi 函数

  • mysqli_num_rows(mysqli_result $result): 返回行数。
  • mysqli_fetch_assoc(mysqli_result $result): 以关联数组的形式返回一行。数组的每个键代表表的列名。如果没有更多行,则返回 NULL。

SELECT 语句的语法

检索数据的基本 SQL 语法是

要检索表中的所有列,您需要在 SQL 语句中放入星号 (*) ,如下所示

示例表结构

我们将使用两个示例表,如下所示

: employees

idnamesalary
1射线9000
2Karl40000
3Jay90000

: MyGuests

idfirstname姓氏
1彼得帕克
2JohnRambo
3ClarkKent

PHP MySQLi SELECT 查询 (过程式)

示例

输出

Connected successfully
EMP ID :1
EMP NAME : ray
EMP SALARY : 9000
--------------------------------
EMP ID :2
EMP NAME : karl
EMP SALARY : 40000
--------------------------------
EMP ID :3
EMP NAME : jay
EMP SALARY : 90000
--------------------------------

原始表 (employees)

idnamesalary
1射线9000
2Karl40000
3Jay90000

SELECT 操作后

idnamesalary
1射线9000
2Karl40000
3Jay90000

说明

它演示了如何使用过程式 MySQLi 方法连接到 MySQL 数据库,运行 SELECT * 查询,然后检索并通过 mysqli_fetch_assoc() 显示结果。该函数将每一行作为关联数组输出,允许按列名访问列值。

PHP MySQLi SELECT 查询 (面向对象)

示例

原始表 (MyGuests)

idfirstname姓氏
1彼得帕克
2JohnRambo
3ClarkKent

输出

<table> <tr> <th> ID </th> <th> Name </th> </tr>
<tr> <td> 1 </td> <td> Peter Parker </td> </tr>
<tr> <td> 2 </td> <td> John Rambo </td> </tr>
<tr> <td> 3 </td> <td> Clark Kent </td> </tr>
</table>

SELECT 操作后

id名称
1Peter Parker
2John Rambo
3Clark Kent

说明

在这里,在此面向对象的方法中,我们使用 MySQL 类连接到数据库并获取数据。它运行一个 SELECT 语句,并将结果显示在 HTML 表中。通过使用方法 $result->fetch_assoc(),每一行都以关联数组的形式获取。

PHP PDO SELECT 查询

示例

原始表 (MyGuests)

idfirstname姓氏
1彼得帕克
2JohnRambo
3ClarkKent

输出

<table style='border: solid 1px black;'>
<tr> <th> Id </th> <th> Firstname </th> <th> Lastname </th> </tr>
<tr> <td> 1 </td> <td> Peter </td> <td> Parker </td> </tr>
<tr> <td> 2 </td> <td> John </td> <td> Rambo </td> </tr>
<tr> <td> 3 </td> <td> Clark </td> <td> Kent </td> </tr>
</table>

SELECT 操作后

idfirstname姓氏
1彼得帕克
2JohnRambo
3ClarkKent

说明

在这里,我们使用 PDO 扩展和一个自定义类来使结果显示在格式化的 HTML 表中。获取了所有行,包括选定的列(id、firstname、lastname)。PDO 提供了灵活性和更高的安全性,这对于大型实现非常有价值。

使用 WHERE 子句过滤数据

WHERE 子句允许您选择要选择的数据。

语句

原始表 (employees)

idnamesalary
1Ratan9000
2Karan40000
3Jai90000

SELECT 操作后

idnamesalary
2Karan40000
3Jai90000

说明

查询中只显示薪水超过 30,000 的员工。在几乎所有有特定要求必须满足的实际查询中,WHERE 子句都是必不可少的。

为什么 SELECT 查询很重要

SELECT 语句几乎是所有需要呈现数据的应用程序的不可或缺的组成部分,无论是在仪表板、报告、表格还是通过 API。数据可以根据企业需求或最终用户输入进行转换,并用于细化数据。开发人员可以选择最适合其应用程序规模和复杂性的 SQL 类型(过程式、OOP、PDO)。

结论

SELECT 查询是 Web 开发中数据检索的核心。使用 PHP,熟练掌握 SELECT 语句(无论是通过 MySQLi(过程式或面向对象风格)还是 PDO)都可以让您有效地操作、过滤和呈现数据。正如您从这些示例中可以看到的,原始表被高效地查询以仅产生必要的数据,并且您可以将 SELECT 查询的功能视为一种高效且有目的的数据处理方式。


下一主题PHP MySQL Order by