PHP MySQL WHERE 子句

在本指南中,我们将讨论如何使用 XAMPP 堆栈中的 PHP 使用 WHERE 子句和 SELECT 命令根据特定条件从 MySQL 数据库中选择记录。

先决条件

确保您已按照以下指南中的说明在 XAMPP 堆栈中创建了数据库和表。

  • 在 XAMPP 中使用 PHP 创建 MySQL 数据库和表

出于演示目的,我创建了一个名为 “销售量” 在一个名为的 MySQL 数据库中 “我的公司” 具有以下架构和记录。

数据库模式和记录

使用 PHP 使用 WHERE 子句从 MySQL 表中过滤数据

WHERE 子句用于仅提取与特定条件匹配的记录。 WHERE 子句将通过取一个运算符后跟一个值来检查条件。

WHERE 子句语法:

SELECT column1,column2,.,column n from table_name WHERE column_name operator value;

在哪里,

  • column_name – 应用条件的列。
  • operator – 用于检查状况。
  • value – 它是与表中存在的每一列值相比较的字符串/数字值。

脚步

1. 指定服务器名(例如 localhost)、数据库用户名(例如 root)、root 用户密码和数据库名称(例如 my_company)。 在这里,我的 root 用户密码为空。

2. 建立连接使用 mysqli_connect() 功能。 它将服务器名、用户名和密码作为参数。

代码:

$connection = mysqli_connect($server_name, $user_name, $password, $database_name);

3. 指定 SQL 查询以按条件从表中选择特定列或所有列的记录。 在这一步中,我们可以指定 SQL 查询以将表中的列选择为变量。

为了 example,我将使用名为的数据库名称 我的公司 我将它存储在一个名为的变量中 询问. 表名是 销售量 有三列。

代码:

$query = "SELECT column1,…. from sales where column_name operator value";

4. 将选定的结果存储到一个名为的变量中 “最终的” 使用 mysqli_query() 功能。 它将“连接”和“查询”作为参数。

代码:

mysqli_query($connection, $query);

5. 使用 mysqli_num_rows() 功能。 之后通过迭代获取结果 while 循环使用 mysqli_fetch_assoc() 功能。 它将采取“final” 变量作为参数。

代码:

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
    echo $i["column1”],…………..;
  }
} else {
  echo "No results";
}

6. 最后, close 通过使用连接 mysqli_close() 功能。

代码:

mysqli_close($connection);

现在,让我们根据上述步骤编写一个示例 PHP 代码。

使用 WHERE 子句从 MySQL 数据库中选择数据的 PHP 代码

示例代码 1:

在这个 example,我们将从“销售”表中选择所有列 id值大于4 并在 PHP 页面中显示结果。

所以我们的运算符将大于 (“>”) 并且值为 4 通过指定 column_name 作为 ID.

创建一个名为的新文件 select.php 在下面 /htdocs 包含以下内容的文件夹。

小心: 如果您使用 Linux,则 文档 文件夹将在 /opt/lampp/ 目录。 如果您使用的是 Windows,则 文档 通常会在 C:xampp 文件夹。

<?php
//specify the server name and here it is localhost
$server_name = "localhost";

//specify the username - here it is root
$user_name = "root";

//specify the password - it is empty
$password = "";

//specify the database name - "my_company"
$database_name = "my_company";

// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);

//sql query to select particular columns
//select all columns such that id is greater than 4
$query = "SELECT * from sales where id>4";

#get the result
$final = mysqli_query($connection, $query);

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
      //get all columns
    echo "id: " . $i["id"]. "  ----> name: " . $i["name"]."  ----> count: " . $i["count"]. "<br>";
  }
} else {
  echo "No results";
}

//close the connection
mysqli_close($connection);
?>

打开您的网络浏览器并将其指向 https://localhost/select.php 网址。 您可以看到选择了数据的位置 id 大于 4 结果显示在浏览器窗口中。

使用 WHERE 子句从 MySQL 数据库中选择数据

示例代码 2:

在这个 example,我们将从“sales”表中选择所有列 姓名 作为 “蛋” 并在 PHP 页面中显示结果。

所以我们的运算符将等于 (“=”) 并且通过指定 column_name 作为 姓名.

<?php
//specify the server name and here it is localhost
$server_name = "localhost";

//specify the username - here it is root
$user_name = "root";

//specify the password - it is empty
$password = "";

//specify the database name
$database_name = "my_company";

// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);

//sql query to select particular columns
//select all columns such that name equals to Eggs
$query = "SELECT * from sales where name="Eggs"";

#get the result
$final = mysqli_query($connection, $query);

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
      //get all columns
    echo "id: " . $i["id"]. "  ----> name: " . $i["name"]."  ----> count: " . $i["count"]. "<br>";
  }
} else {
  echo "No results";
}

//close the connection
mysqli_close($connection);
?>

打开您的网络浏览器并将其指向 https://localhost/select.php 网址。 您可以看到在 name=”Eggs” 的位置选择了数据并显示。

选择包含名称 Eggs 的列选择包含名称 Eggs 的列

示例代码 3:

在这个 example,我们将从“销售”表中选择所有列 计为 45 并在 PHP 页面中显示结果。

所以我们的运算符将等于 (“=”) 并且通过将 column_name 指定为 数数.

<?php
//specify the server name and here it is localhost
$server_name = "localhost";

//specify the username - here it is root
$user_name = "root";

//specify the password - it is empty
$password = "";

//specify the database name
$database_name = "my_company";

// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);

//sql query to select particular columns
//select all columns such that count is 45
$query = "SELECT * from sales where count =45";

#get the result
$final = mysqli_query($connection, $query);

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
      //get all columns
    echo "id: " . $i["id"]. "  ----> name: " . $i["name"]."  ----> count: " . $i["count"]. "<br>";
  }
} else {
  echo "No results";
}

//close the connection
mysqli_close($connection);
?>

打开您的网络浏览器并将其指向 https://localhost/select.php 网址。 您可以看到选择了数据的位置 计数 = 45 并显示结果列。

选择包含计数 45 的列选择包含计数 45 的列

结论

在本教程中,我们讨论了使用 PHP 和 WHERE 子句根据特定条件从 MySQL 数据库中选择数据的三种不同方法。 首先 example 向您展示了如何使用数值“id”过滤数据。 第二个和第三个例子分别解释了如何使用字符串值“name”和数值“count”来选择数据。