PHP & MySQL – 快速指南

PHP & MySQL – 快速指南


PHP 和 MySQL – 概述

MySQL 可以很好地结合各种编程语言,如 PERL、C、C++、JAVA 和 PHP。在这些语言中,PHP 是最受欢迎的一种,因为它具有 Web 应用程序开发能力。

PHP 提供了各种函数来访问 MySQL 数据库和操作 MySQL 数据库内部的数据记录。您需要以与调用任何其他 PHP 函数相同的方式调用 PHP 函数。

用于 MySQL 的 PHP 函数具有以下通用格式 –

mysql_function(value,value,...);

函数名的第二部分是特定于函数的,通常是描述函数做什么的词。以下是我们将在教程中使用的两个函数 –

mysqli_connect($connect);
mysqli_query($connect,"SQL statement");

以下示例显示了调用任何 MySQL 函数的 PHP 通用语法。

<html>
   <head>
      <title>PHP with MySQL</title>
   </head>
   
   <body>
      <?php
         $retval = mysql_function(value, [value,...]);
         if( !$retval ) {
            die ( "Error: a related error message" );
         }
         // Otherwise MySQL or PHP Statements
      ?>
   </body>
</html>

从下一章开始,我们将看到所有重要的 MySQL 功能以及 PHP。

PHP & MySQL – 环境设置

为了开发和运行 PHP 网页,需要在您的计算机系统上安装三个重要的组件。

  • Web Server – PHP 几乎可以与所有 Web Server 软件一起使用,包括 Microsoft 的 Internet Information Server (IIS),但最常用的是 Apache Server。在此处免费下载 Apache – https://httpd.apache.org/download.cgi

  • 数据库– PHP 几乎适用于所有数据库软件,包括 Oracle 和 Sybase,但最常用的是 MySQL 数据库。在这里免费下载 MySQL – https://www.mysql.com/downloads/

  • PHP Parser – 为了处理 PHP 脚本指令,必须安装一个解析器来生成可以发送到 Web 浏览器的 HTML 输出。本教程将指导您如何在您的计算机上安装 PHP 解析器。

PHP解析器安装

在继续之前,请务必确保在您的机器上设置了正确的环境以使用 PHP 开发您的 Web 程序。将以下 php 文件存储在 Apache 的 htdocs 文件夹中。

phpinfo.php

<?php
   phpinfo();
?>

在浏览器的地址框中输入以下地址。

http://127.0.0.1/phpinfo.php

如果这显示一个页面显示您的 PHP 安装相关信息,则表示您已正确安装 PHP 和 Webserver。否则,您必须按照给定的步骤在您的计算机上安装 PHP。

本节将指导您在以下四个平台上安装和配置 PHP –

阿帕奇配置

如果您使用 Apache 作为 Web 服务器,那么本节将指导您编辑 Apache 配置文件。

在这里检查 – Apache 服务器中的 PHP 配置

PHP.INI 文件配置

PHP 配置文件php.ini是影响 PHP 功能的最终和直接方式。

检查这里 – PHP.INI文件配置

Windows IIS 配置

要在您的 Windows 机器上配置 IIS,您可以参考随 IIS 一起提供的 IIS 参考手册。

安装 MySQL 数据库

您需要的最重要的当然是一个实际运行的数据库,其中包含一个您可以查询和修改的表。

  • MySQL DB – MySQL 是一个开源数据库。你可以从MySQL 官方网站下载它我们建议下载完整的 Windows 安装。

  • 此外,下载并安装MySQL Administrator以及MySQL Query Browser。这些基于 GUI 的工具将使您的开发更加容易。

  • 最后,将MySQL Connector/J(MySQL JDBC 驱动程序)下载并解压到一个方便的目录中。出于本教程的目的,我们假设您已将驱动程序安装在 C:\Program Files\MySQL\mysql-connector-java-5.1.8。

  • 因此,将 CLASSPATH 变量设置为 C:\Program Files\MySQL\mysql-connector-java-5.1.8\mysql-connector-java-5.1.8-bin.jar。您的驱动程序版本可能因您的安装而异。

设置数据库凭据

当我们安装 MySQL 数据库时,它的管理员 ID 被设置为root并且它允许设置您选择的密码。

使用 root ID 和密码,您可以创建另一个用户 ID 和密码,或者您可以为 JDBC 应用程序使用 root ID 和密码。

有各种数据库操作,如数据库创建和删除,需要管理员 ID 和密码。

对于 JDBC 教程的其余部分,我们将使用 MySQL 数据库,其中guest作为 ID,guest123作为密码。

如果您没有足够的权限来创建新用户,那么您可以要求您的数据库管理员 (DBA) 为您创建一个用户 ID 和密码。

创建数据库

要创建TUTORIALSPOINT数据库,请使用以下步骤 –

步骤1

打开命令提示符并更改到安装目录,如下所示 –

C:\>
C:\>cd Program Files\MySQL\bin
C:\Program Files\MySQL\bin>

注意mysqld.exe的路径可能因系统上 MySQL 的安装位置而异。您还可以查看有关如何启动和停止数据库服务器的文档。

第2步

通过执行以下命令启动数据库服务器(如果它尚未运行)。

C:\Program Files\MySQL\bin>mysqld
C:\Program Files\MySQL\bin>

第 3 步

通过执行以下命令创建TUTORIALSPOINT数据库 –

C:\Program Files\MySQL\bin> mysqladmin create TUTORIALSPOINT -u guest -p
Enter password: ********
C:\Program Files\MySQL\bin>

创建表

在 TUTORIALSPOINT 数据库中创建员工表,请使用以下步骤 –

步骤1

打开命令提示符并更改到安装目录,如下所示 –

C:\>
C:\>cd Program Files\MySQL\bin
C:\Program Files\MySQL\bin>

第2步

登录数据库如下 –

C:\Program Files\MySQL\bin>mysql -u guest -p
Enter password: ********
mysql>

第 3 步

创建表员工如下 –

mysql> use TUTORIALSPOINT;
mysql> create table Employees
   -> (
   -> id int not null,
   -> age int not null,
   -> first varchar (255),
   -> last varchar (255)
   -> );
Query OK, 0 rows affected (0.08 sec)
mysql>

创建数据记录

最后,您在 Employee 表中创建了几条记录,如下所示 –

mysql> INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali');
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO Employees VALUES (101, 25, 'Mahnaz', 'Fatma');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Employees VALUES (102, 30, 'Zaid', 'Khan');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Employees VALUES (103, 28, 'Sumit', 'Mittal');
Query OK, 1 row affected (0.00 sec)

mysql>

要全面了解 MySQL 数据库,请学习MySQL 教程

现在您已准备好开始试验 PHP。

PHP & MySQL – 连接数据库示例

PHP 提供了mysqli结构或mysqli_connect()函数来打开数据库连接。该函数接受六个参数,成功时返回 MySQL 链接标识符,失败时返回 FALSE。

句法

$mysqli = new mysqli($host, $username, $passwd, $dbName, $port, $socket);

Sr.No. 参数及说明
1

$host

可选 – 运行数据库服务器的主机名。如果未指定,则默认值为localhost:3306

2

$username

可选 – 访问数据库的用户名。如果未指定,则默认值为拥有服务器进程的用户名。

3

$passwd

可选 – 访问数据库的用户的密码。如果未指定,则默认为空密码。

4

$dbName

可选 – 要执行查询的数据库名称。

5

$port

可选 – 尝试连接到 MySQL 服务器的端口号..

6

$socket

可选 – 应该使用的套接字或命名管道。

您可以随时使用另一个 PHP 函数close()断开与 MySQL 数据库的连接

句法

$mysqli->close();

例子

尝试以下示例连接到 MySQL 服务器 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Connecting MySQL Server</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Connected successfully.

PHP & MySQL – 创建数据库示例

PHP 使用mysqli query()mysql_query()函数来创建或删除 MySQL 数据库。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

$mysqli->query($sql,$resultmode)

Sr.No. 参数及说明
1

$sql

必需 – 创建 MySQL 数据库的 SQL 查询。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

例子

尝试以下示例来创建数据库 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head><title>Creating MySQL Database</title></head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
		 
         if ($mysqli->query("CREATE DATABASE TUTORIALS")) {
            printf("Database TUTORIALS created successfully.<br />");
         }
         if ($mysqli->errno) {
            printf("Could not create database: %s<br />", $mysqli->error);
         }
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Connected successfully.
Database TUTORIALS created successfully.

PHP & MySQL – 删除数据库示例

PHP 使用mysqli query()mysql_query()函数来删除 MySQL 数据库。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

$mysqli->query($sql,$resultmode)

Sr.No. 参数及说明
1

$sql

必需 – 用于删除 MySQL 数据库的 SQL 查询。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

例子

尝试以下示例删除数据库 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head><title>Dropping MySQL Database</title></head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
		 
         if ($mysqli->query("Drop DATABASE TUTORIALS")) {
            printf("Database TUTORIALS dropped successfully.<br />");
         }
         if ($mysqli->errno) {
            printf("Could not drop database: %s<br />", $mysqli->error);
         }
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Connected successfully.
Database TUTORIALS dropped successfully.

PHP & MySQL – 选择数据库示例

PHP 使用mysqli_select_db函数来选择要执行查询的数据库。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

mysqli_select_db ( mysqli $link , string $dbname ) : bool

Sr.No. 参数及说明
1

$link

必需 – 由 mysqli_connect() 或 mysqli_init() 返回的链接标识符。

2

$dbname

必需 – 要连接的数据库的名称。

例子

尝试以下示例来选择一个数据库 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Selecting MySQL Database</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $conn = mysqli_connect($dbhost, $dbuser, $dbpass);

         if(! $conn ) {
            die('Could not connect: ' . mysqli_error($conn));
         }
         echo 'Connected successfully<br />';
         $retval = mysqli_select_db( $conn, 'TUTORIALS' );

         if(! $retval ) {
            die('Could not select database: ' . mysqli_error($conn));
         }
         echo "Database TUTORIALS selected successfully\n";
         mysqli_close($conn);
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Database TUTORIALS selected successfully

PHP & MySQL – 创建表

PHP 使用mysqli query()mysql_query()函数来创建 MySQL 表。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

$mysqli->query($sql,$resultmode)

Sr.No. 参数及说明
1

$sql

必需 – 创建 MySQL 表的 SQL 查询。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

例子

尝试以下示例来创建表 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Creating MySQL Table</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
         $sql = "CREATE TABLE tutorials_tbl( ".
            "tutorial_id INT NOT NULL AUTO_INCREMENT, ".
            "tutorial_title VARCHAR(100) NOT NULL, ".
            "tutorial_author VARCHAR(40) NOT NULL, ".
            "submission_date DATE, ".
            "PRIMARY KEY ( tutorial_id )); ";
         if ($mysqli->query($sql)) {
            printf("Table tutorials_tbl created successfully.<br />");
         }
         if ($mysqli->errno) {
            printf("Could not create table: %s<br />", $mysqli->error);
         }
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Connected successfully.
Table tutorials_tbl created successfully.

PHP & MySQL – 删除表示例

PHP 使用mysqli query()mysql_query()函数来删除 MySQL 表。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

$mysqli->query($sql,$resultmode)

Sr.No. 参数及说明
1

$sql

必需 – 用于删除表的 SQL 查询。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

例子

尝试以下示例删除表 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head><title>Dropping MySQL Table</title></head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
		 
         if ($mysqli->query("Drop Table tutorials_tbl")) {
            printf("Table tutorials_tbl dropped successfully.<br />");
         }
         if ($mysqli->errno) {
            printf("Could not drop table: %s<br />", $mysqli->error);
         }
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Connected successfully.
Table tutorials_tbl dropped successfully.

PHP & MySQL – 插入记录示例

PHP 使用mysqli_query函数在表中插入记录。此函数采用三个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

mysqli_query ( mysqli $link, string $query, int $resultmode = MYSQLI_STORE_RESULT ) : mixed

Sr.No. 参数及说明
1

$link

必需 – 由 mysqli_connect() 或 mysqli_init() 返回的链接标识符。

2

$query

必需 – 用于删除表的 SQL 查询。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

例子

这个例子将从用户那里获取三个参数,并将它们插入到 MySQL 表中 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Add New Record in MySQL Database</title>
   </head>
   <body>
      <?php
         if(isset($_POST['add'])) {
            $dbhost = 'localhost';
            $dbuser = 'root';
            $dbpass = 'root@123';
            $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
         
            if(! $conn ) {
               die('Could not connect: ' . mysqli_error($conn));
            }
            if(! get_magic_quotes_gpc() ) {
               $tutorial_title = addslashes ($_POST['tutorial_title']);
               $tutorial_author = addslashes ($_POST['tutorial_author']);
            } else {
               $tutorial_title = $_POST['tutorial_title'];
               $tutorial_author = $_POST['tutorial_author'];
            }
            $submission_date = $_POST['submission_date'];
            $sql = "INSERT INTO tutorials_tbl ".
               "(tutorial_title,tutorial_author, submission_date) "."VALUES ".
               "('$tutorial_title','$tutorial_author','$submission_date')";
            mysqli_select_db( $conn, 'TUTORIALS' );
            $retval = mysqli_query( $conn, $sql );
         
            if(! $retval ) {
               die('Could not enter data: ' . mysqli_error($conn));
            }
            echo "Entered data successfully\n";
            mysqli_close($conn);
         } else {
      ?>  
      <form method = "post" action = "<?php $_PHP_SELF ?>">
         <table width = "600" border = "0" cellspacing = "1" cellpadding = "2">
            <tr>
               <td width = "250">Tutorial Title</td>
               <td><input name = "tutorial_title" type = "text" id = "tutorial_title"></td>
            </tr>         
            <tr>
               <td width = "250">Tutorial Author</td>
               <td><input name = "tutorial_author" type = "text" id = "tutorial_author"></td>
            </tr>         
            <tr>
               <td width = "250">Submission Date [   yyyy-mm-dd ]</td>
               <td><input name = "submission_date" type = "text" id = "submission_date"></td>
            </tr>      
            <tr>
               <td width = "250"> </td>
               <td></td>
            </tr>         
            <tr>
               <td width = "250"> </td>
               <td><input name = "add" type = "submit" id = "add"  value = "Add Tutorial"></td>
            </tr>
         </table>
      </form>
   <?php
      }
   ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php,输入详细信息并验证提交表单时的输出。

Entered data successfully

在进行数据插入时,最好使用函数get_magic_quotes_gpc()来检查是否设置了魔术引号的当前配置。如果此函数返回false,则使用函数addslashes()在引号前添加斜杠。

您可以进行许多验证以检查输入的数据是否正确,并可以采取适当的措施。

PHP & MySQL – 选择记录示例

您可以在 PHP 函数mysql_query() 中使用相同的 SQL SELECT 命令该函数用于执行 SQL 命令,然后另一个 PHP 函数mysql_fetch_array()可用于获取所有选定的数据。此函数以关联数组、数值数组或两者的形式返回行。如果没有更多行,此函数返回 FALSE。

下面的程序是一个简单的例子,它将展示如何从tutorials_tbl表中获取/显示记录

例子

以下代码块将显示 tutorials_tbl 表中的所有记录。

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Selecting Records</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $conn = mysqli_connect($dbhost, $dbuser, $dbpass);

         if(! $conn ) {
            die('Could not connect: ' . mysqli_error($conn));
         }
         echo 'Connected successfully<br />';
         
         mysqli_select_db( $conn, 'TUTORIALS' );
         $sql = "SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl";
         $retval = mysqli_query( $conn, $sql );
         if(! $retval ) {
            die('Could not get data: ' . mysqli_error($conn));
         }
         
         while($row = mysqli_fetch_array($retval, MYSQL_ASSOC)) {
            echo "Tutorial ID :{$row['tutorial_id']}  ".
               "Title: {$row['tutorial_title']} ".
               "Author: {$row['tutorial_author']} ".
               "Submission Date : {$row['submission_date']} ".
               "--------------------------------";
         } 
         echo "Fetched data successfully\n";
         mysqli_close($conn);
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php,输入详细信息并验证提交表单时的输出。

Entered data successfully

在进行数据插入时,最好使用函数get_magic_quotes_gpc()来检查是否设置了魔术引号的当前配置。如果此函数返回false,则使用函数addslashes()在引号前添加斜杠。

您可以进行许多验证以检查输入的数据是否正确,并可以采取适当的措施。

PHP & MySQL – 更新记录示例

PHP 使用mysqli query()mysql_query()函数来更新 MySQL 表中的记录。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

$mysqli->query($sql,$resultmode)

Sr.No. 参数及说明
1

$sql

必需 – 用于更新 MySQL 表中记录的 SQL 查询。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

例子

尝试以下示例来更新表中的记录 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Updating MySQL Table</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
		 
         if ($mysqli->query('UPDATE tutorials_tbl set tutorial_title = "Learning Java" where tutorial_id = 4')) {
            printf("Table tutorials_tbl updated successfully.<br />");
         }
         if ($mysqli->errno) {
            printf("Could not update table: %s<br />", $mysqli->error);
         }
   
         $sql = "SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl";
		 
         $result = $mysqli->query($sql);
           
         if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
               printf("Id: %s, Title: %s, Author: %s, Date: %d <br />", 
                  $row["tutorial_id"], 
                  $row["tutorial_title"], 
                  $row["tutorial_author"],
                  $row["submission_date"]);               
            }
         } else {
            printf('No record found.<br />');
         }
         mysqli_free_result($result);
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。在这里,我们在运行选择脚本之前在表中输入了多条记录。

Connected successfully.
Table tutorials_tbl updated successfully.
Id: 1, Title: MySQL Tutorial, Author: Mahesh, Date: 2021
Id: 2, Title: HTML Tutorial, Author: Mahesh, Date: 2021
Id: 3, Title: PHP Tutorial, Author: Mahesh, Date: 2021
Id: 4, Title: Learning Java, Author: Mahesh, Date: 2021
Id: 5, Title: Apache Tutorial, Author: Suresh, Date: 2021

PHP & MySQL – 删除记录示例

PHP 使用mysqli query()mysql_query()函数来删除 MySQL 表中的记录。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

$mysqli->query($sql,$resultmode)

Sr.No. 参数及说明
1

$sql

必需 – 用于删除 MySQL 表中记录的 SQL 查询。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

例子

尝试以下示例删除表中的记录 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Deleting MySQL Table record</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
         if ($mysqli->query('DELETE FROM tutorials_tbl where tutorial_id = 4')) {
            printf("Table tutorials_tbl record deleted successfully.<br />");
         }
         if ($mysqli->errno) {
            printf("Could not delete record from table: %s<br />", $mysqli->error);
         }
         $sql = "SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl";
		 
         $result = $mysqli->query($sql);
         if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
               printf("Id: %s, Title: %s, Author: %s, Date: %d <br />", 
                  $row["tutorial_id"], 
                  $row["tutorial_title"], 
                  $row["tutorial_author"],
                  $row["submission_date"]);               
            }
         } else {
            printf('No record found.<br />');
         }
         mysqli_free_result($result);
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。在这里,我们在运行选择脚本之前在表中输入了多条记录。

Connected successfully.
Table tutorials_tbl record deleted successfully.
Id: 1, Title: MySQL Tutorial, Author: Mahesh, Date: 2021
Id: 2, Title: HTML Tutorial, Author: Mahesh, Date: 2021
Id: 3, Title: PHP Tutorial, Author: Mahesh, Date: 2021
Id: 5, Title: Apache Tutorial, Author: Suresh, Date: 2021

PHP & MySQL – Where 子句示例

PHP 使用mysqli query()mysql_query()函数使用 where 子句选择 MySQL 表中的记录。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

$mysqli->query($sql,$resultmode)

Sr.No. 参数及说明
1

$sql

必需 – 使用 Where 子句在 MySQL 表中选择记录的 SQL 查询。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

例子

尝试使用以下示例在表中使用 where 子句选择记录 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Using Where Clause</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
   
         $sql = 'SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl where tutorial_author = "Mahesh"';
         $result = $mysqli->query($sql);
           
         if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
               printf("Id: %s, Title: %s, Author: %s, Date: %d <br />", 
                  $row["tutorial_id"], 
                  $row["tutorial_title"], 
                  $row["tutorial_author"],
                  $row["submission_date"]);               
            }
         } else {
            printf('No record found.<br />');
         }
         mysqli_free_result($result);
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。在这里,我们在运行选择脚本之前在表中输入了多条记录。

Connected successfully.
Id: 1, Title: MySQL Tutorial, Author: Mahesh, Date: 2021
Id: 2, Title: HTML Tutorial, Author: Mahesh, Date: 2021
Id: 3, Title: PHP Tutorial, Author: Mahesh, Date: 2021

PHP & MySQL – Like 子句示例

PHP 使用mysqli query()mysql_query()函数使用 Like 子句选择 MySQL 表中的记录。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

$mysqli->query($sql,$resultmode)

Sr.No. 参数及说明
1

$sql

必需 – SQL 查询以使用 Like 子句选择 MySQL 表中的记录。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

例子

尝试使用以下示例在表中使用 like 子句选择记录 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Using Like Clause</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
   
         $sql = 'SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl where tutorial_author like "Mah%"';
         $result = $mysqli->query($sql);
         
         if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
               printf("Id: %s, Title: %s, Author: %s, Date: %d <br />", 
                  $row["tutorial_id"], 
                  $row["tutorial_title"], 
                  $row["tutorial_author"],
                  $row["submission_date"]);               
            }
         } else {
            printf('No record found.<br />');
         }
         mysqli_free_result($result);
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。在这里,我们在运行选择脚本之前在表中输入了多条记录。

Connected successfully.
Id: 1, Title: MySQL Tutorial, Author: Mahesh, Date: 2021
Id: 2, Title: HTML Tutorial, Author: Mahesh, Date: 2021
Id: 3, Title: PHP Tutorial, Author: Mahesh, Date: 2021

PHP & MySQL – 排序数据示例

PHP 使用mysqli query()mysql_query()函数从 MySQL 表中获取已排序的记录。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

$mysqli->query($sql,$resultmode)

Sr.No. 参数及说明
1

$sql

必需 – 用于从表中获取排序记录的 SQL 查询。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

例子

尝试以下示例从表中获取排序记录 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Sorting MySQL Table records</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
   
         $sql = "SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl order by tutorial_title asc";
         $result = $mysqli->query($sql);
           
         if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
               printf("Id: %s, Title: %s, Author: %s, Date: %d <br />", 
                  $row["tutorial_id"], 
                  $row["tutorial_title"], 
                  $row["tutorial_author"],
                  $row["submission_date"]);               
            }
         } else {
            printf('No record found.<br />');
         }
         mysqli_free_result($result);
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Connected successfully.
Id: 5, Title: Apache Tutorial, Author: Suresh, Date: 2021
Id: 2, Title: HTML Tutorial, Author: Mahesh, Date: 2021
Id: 1, Title: MySQL Tutorial, Author: Mahesh, Date: 2021
Id: 3, Title: PHP Tutorial, Author: Mahesh, Date: 2021

PHP & MySQL – 使用连接示例

PHP 使用mysqli query()mysql_query()函数从使用连接的 MySQL 表中获取记录。此函数采用两个参数,成功时返回 TRUE,失败时返回 FALSE。

句法

$mysqli->query($sql,$resultmode)

Sr.No. 参数及说明
1

$sql

必需 – 使用连接从多个表中获取记录的 SQL 查询。

2

$resultmode

可选 – 常量 MYSQLI_USE_RESULT 或 MYSQLI_STORE_RESULT 取决于所需的行为。默认情况下,使用 MYSQLI_STORE_RESULT。

首先使用以下脚本在 MySQL 中创建一个表并插入两条记录。

create table tcount_tbl(
   tutorial_author VARCHAR(40) NOT NULL,
   tutorial_count int
);

insert into tcount_tbl values('Mahesh', 3);
insert into tcount_tbl values('Suresh', 1);

例子

尝试以下示例以使用 Join 从两个表中获取记录。

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Using joins on MySQL Tables</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
         
         $sql = 'SELECT a.tutorial_id, a.tutorial_author, b.tutorial_count
				FROM tutorials_tbl a, tcount_tbl b
				WHERE a.tutorial_author = b.tutorial_author';
         $result = $mysqli->query($sql);
           
         if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
               printf("Id: %s, Author: %s, Count: %d <br />", 
                  $row["tutorial_id"], 
                  $row["tutorial_author"], 
                  $row["tutorial_count"]);               
            }
         } else {
            printf('No record found.<br />');
         }
         mysqli_free_result($result);
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Connected successfully.
Id: 1, Author: Mahesh, Count: 3
Id: 2, Author: Mahesh, Count: 3
Id: 3, Author: Mahesh, Count: 3
Id: 5, Author: Suresh, Count: 1

PHP & MySQL – 处理 NULL 示例

您可以使用if…else条件根据 NULL 值准备查询。

以下示例从外部获取 tutorial_count,然后将其与表中可用的值进行比较。

例子

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Handling NULL</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         $tutorial_count = null;
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
   
         if( isset($tutorial_count )) {
            $sql = 'SELECT tutorial_author, tutorial_count
               FROM  tcount_tbl
               WHERE tutorial_count = ' + $tutorial_count;
         } else {
            $sql = 'SELECT tutorial_author, tutorial_count
               FROM  tcount_tbl
               WHERE tutorial_count IS NULL';
         }
         $result = $mysqli->query($sql);
           
         if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
               printf("Author: %s, Count: %d <br />",
                  $row["tutorial_author"], 
                  $row["tutorial_count"]);               
            }
         } else {
            printf('No record found.<br />');
         }
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Connected successfully.
No record found.

PHP & MySQL – 数据库信息示例

MySQL 中有一些重要的命令可以在 MySQL 提示符下执行,也可以通过使用任何脚本(如 PHP)来获取有关数据库服务器的各种重要信息。

Sr.No. 命令和描述
1

SELECT VERSION( )

服务器版本字符串

2

SELECT DATABASE( )

当前数据库名称(如果没有则为空)

3

SELECT USER( )

当前用户名

4

SHOW STATUS

服务器状态指示灯

5

SHOW VARIABLES

服务器配置变量

例子

尝试以下示例以获取数据库信息 –

将以下示例复制并粘贴为 mysql_example.php –

<html>
   <head>
      <title>Getting MySQL Database Info</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         $tutorial_count = null;
		 
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
		 
         if ($result = mysqli_query($mysqli, "SELECT DATABASE()")) {
            $row = mysqli_fetch_row($result);
            printf("Default database is %s<br />", $row[0]);
            mysqli_free_result($result);
         }
         $mysqli->close();
      ?>
   </body>
</html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Connected successfully.
Default database is tutorials

觉得文章有用?

点个广告表达一下你的爱意吧 !😁