”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > PHP CRUD 操作初学者指南

PHP CRUD 操作初学者指南

发布于2024-08-05
浏览:347

介绍

PHP 是一种灵活且广泛使用的服务器端脚本语言,为我们今天看到的许多动态和交互式网页提供支持。作为一名初学者,我发现学习 PHP 的旅程既充满挑战又充满收获。在这篇文章中,我们将在我上一篇文章中介绍的基础知识的基础上,探索 PHP 中更高级的主题。

如果您还没有阅读我的第一篇文章 PHP Primer:初学者指南,我强烈建议您查看一下。它涵盖了 PHP 的基础知识,包括设置开发环境、理解基本语法以及使用变量和数据类型。

随着我们深入研究 PHP,我欢迎任何反馈、建议或更正。您的评论不仅帮助我进步,还为所有读者创造了一个协作学习的环境。让我们一起继续我们的PHP之旅吧!

设置 MySQL 数据库

在开始编码之前,我们需要设置一个MySQL数据库。如果您安装了 XAMPP,那么您已经成功了一半!

在 XAMPP 中配置 MySQL

  1. 打开XAMPP控制面板:启动XAMPP控制面板并启动“Apache”和“MySQL”服务。

  2. 打开XAMPP控制面板:启动XAMPP控制面板并启动“Apache”和“MySQL”服务。

  3. 创建数据库:

  • 点击左侧边栏的“新建”按钮。

  • 输入数据库名称,然后单击“创建”。

还有另一种选择,即通过编写 CREATE DATABASE database_name 创建数据库; SQL 脚本中的命令,然后单击 Go 命令。

这些步骤如下图所示。

Start the PHP and MySQL server with XAMPP

Open MySQL in XAMPP

创建数据库的第一个选项:
Create new database

在 SQL 脚本上使用 MySQL 命令创建数据库:
Create new database by using MySQL command

使用 phpMyAdmin 创建表

  1. 选择您的数据库:单击您刚刚创建的数据库。

  2. 创建表:

  • 输入表的名称(例如,users)。

  • 指定列数,然后单击“执行”。

  • 定义列(例如,id、姓名、电子邮件、年龄)。

或者通过在 SQL 脚本中使用 MySQL 命令

CREATE TABLE users (
    id INT(11) PRIMARY KEY AUTO_INCREMENT NOT NULL, 
    name VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL UNIQUE,
    age INT(3) NOT NULL
)


然后单击“开始”。

将 PHP 连接到 MySQL

使用 'mysqli' 连接 MySQL

更新了下面的代码




执行CRUD操作

在 Web 开发环境中执行 CRUD 操作是指可以对数据库中存储的数据执行的基本操作:创建、读取、更新和删除。这些操作对于构建用户可以与数据交互的动态和交互式 Web 应用程序至关重要。 CRUD 操作是 Web 应用程序中数据库交互的支柱。 PHP 允许您通过定义包含 SQL 代码的变量并使用 PHP 的数据库交互库(如 MySQLi

执行它们)来轻松执行这些操作

创建:插入数据

更新代码 ↓

";
} else {
    // Log the error for debugging purposes
    error_log("Error: " . mysqli_stmt_error($stmt));

    // Display a generic error message to the user
    echo "An error occurred while creating the record. Please try again later.";
}

// Close the prepared statement
mysqli_stmt_close($stmt);

阅读:获取数据

读取操作用于从数据库中获取数据。这通常是使用 SQL 中的 SELECT 语句来完成的。以下是如何在 PHP 中执行读取操作的分步代码和说明:

// Create an SQL query
$sql = "SELECT id, name, email, age FROM users";
$result = mysqli_query($conn, $sql);

// Check if there are any results
if (mysqli_num_rows($result) > 0) {
    // Fetch and output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. " - Age: " . $row["age"]. "
"; } } else { echo "0 results"; }

更新:修改数据

您是否曾经需要修改数据库中的现有数据?你是如何处理的?
PHP 中的更新操作用于修改 MySQL 数据库中的现有记录。这对于维护应用程序中准确且最新的数据至关重要。例如,如果用户的信息发生更改,例如他们的电子邮件地址或年龄,您将使用更新操作在数据库中反映这些更改。

更新了代码



根据上面编写的代码,如果更新过程顺利,我们将收到消息“记录更新成功”,在这种情况下,具有指定电子邮件的用户的年龄值将更改为32,我们可以看到我们数据库中的结果。

删除:删除数据

PHP中的删除操作用于从数据库表中删除记录。此操作使用 SQL DELETE 语句执行,该语句指定应删除记录的条件。 DELETE 语句的语法允许您指定一个或多个条件,以确保仅从数据库中删除预期的记录。

更新了代码

 0) {
            echo "Record deleted successfully";
        } else {
            echo "No record found with the specified email.";
        }
    } else {
        // Log the error internally, do not display it to the user
        error_log("Error executing statement: " . mysqli_stmt_error($stmt));
        echo "An error occurred while deleting the record. Please try again later.";
    }

    // Close the statement
    mysqli_stmt_close($stmt);
} else {
    // Log the error internally, do not display it to the user
    error_log("Error preparing statement: " . mysqli_error($conn));
    echo "An error occurred. Please try again later.";
}

// Close the connection
mysqli_close($conn);
?>

进一步阅读:

  • PHP 官方文档
  • W3Schools PHP 教程

结论

CRUD 操作是 Web 应用程序中数据库交互的支柱。通过掌握这些操作,您可以构建动态的、交互式的应用程序。我很想听听您的 CRUD 操作经验!在下面的评论中分享您的想法,让我们继续讨论。

我想向每一位花时间阅读这篇文章并分享您的见解的人表示诚挚的谢意。在我们继续共同学习和成长的过程中,您的参与和反馈非常有价值。

不要忘记查看我之前的帖子以了解更多基本概念,并随时在下面留下您的反馈或评论。感谢您与我一起探索 PHP 中的 CRUD 操作。

版本声明 本文转载于:https://dev.to/rkadriu/mastering-crud-operations-with-php-and-mysql-51gh?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 为什么PYTZ最初显示出意外的时区偏移?
    为什么PYTZ最初显示出意外的时区偏移?
    与pytz 最初从pytz获得特定的偏移。例如,亚洲/hong_kong最初显示一个七个小时37分钟的偏移: 差异源利用本地化将时区分配给日期,使用了适当的时区名称和偏移量。但是,直接使用DateTime构造器分配时区不允许进行正确的调整。 example pytz.timezone(...
    编程 发布于2025-04-08
  • 如何在其容器中为DIV创建平滑的左右CSS动画?
    如何在其容器中为DIV创建平滑的左右CSS动画?
    通用CSS动画,用于左右运动 ,我们将探索创建一个通用的CSS动画,以向左和右移动DIV,从而到达其容器的边缘。该动画可以应用于具有绝对定位的任何div,无论其未知长度如何。问题:使用左直接导致瞬时消失 更加流畅的解决方案:混合转换和左 [并实现平稳的,线性的运动,我们介绍了线性的转换。这...
    编程 发布于2025-04-08
  • 如何使用“ JSON”软件包解析JSON阵列?
    如何使用“ JSON”软件包解析JSON阵列?
    parsing JSON与JSON软件包 QUALDALS:考虑以下go代码:字符串 } func main(){ datajson:=`[“ 1”,“ 2”,“ 3”]`` arr:= jsontype {} 摘要:= = json.unmarshal([] byte(...
    编程 发布于2025-04-08
  • 如何使用node-mysql在单个查询中执行多个SQL语句?
    如何使用node-mysql在单个查询中执行多个SQL语句?
    Multi-Statement Query Support in Node-MySQLIn Node.js, the question arises when executing multiple SQL statements in a single query using the node-mys...
    编程 发布于2025-04-08
  • 如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    postgresql:为每个唯一标识符在postgresql中提取最后一行,您可能需要遇到与数据集合中每个不同标识的信息相关的信息。考虑以下数据:[ 1 2014-02-01 kjkj 在数据集中的每个唯一ID中检索最后一行的信息,您可以在操作员上使用Postgres的有效效率: id dat...
    编程 发布于2025-04-08
  • 找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    如何在mySQL中使用mySql 检索最大计数,您可能会遇到一个问题,您可能会在尝试使用以下命令:理解错误正确找到由名称列分组的值的最大计数,请使用以下修改后的查询: 计数(*)为c 来自EMP1 按名称组 c desc订购 限制1 查询说明 select语句提取名称列和每个名称...
    编程 发布于2025-04-08
  • 如何使用组在MySQL中旋转数据?
    如何使用组在MySQL中旋转数据?
    在关系数据库中使用mySQL组使用mySQL组进行查询结果,在关系数据库中使用MySQL组,转移数据的数据是指重新排列的行和列的重排以增强数据可视化。在这里,我们面对一个共同的挑战:使用组的组将数据从基于行的基于列的转换为基于列。 Let's consider the following ...
    编程 发布于2025-04-08
  • 如何实时捕获和流媒体以进行聊天机器人命令执行?
    如何实时捕获和流媒体以进行聊天机器人命令执行?
    在开发能够执行命令的chatbots的领域中,实时从命令执行实时捕获Stdout,一个常见的需求是能够检索和显示标准输出(stdout)在cath cath cant cant cant cant cant cant cant cant interfaces in Chate cant inter...
    编程 发布于2025-04-08
  • 如何限制动态大小的父元素中元素的滚动范围?
    如何限制动态大小的父元素中元素的滚动范围?
    在交互式接口中实现垂直滚动元素的CSS高度限制问题:考虑一个布局,其中我们具有与用户垂直滚动一起移动的可滚动地图div,同时与固定的固定sidebar保持一致。但是,地图的滚动无限期扩展,超过了视口的高度,阻止用户访问页面页脚。$("#map").css({ marginT...
    编程 发布于2025-04-08
  • 如何使用PHP从XML文件中有效地检索属性值?
    如何使用PHP从XML文件中有效地检索属性值?
    从php $xml = simplexml_load_file($file); foreach ($xml->Var[0]->attributes() as $attributeName => $attributeValue) { echo $attributeName,...
    编程 发布于2025-04-08
  • 如何配置Pytesseract以使用数字输出的单位数字识别?
    如何配置Pytesseract以使用数字输出的单位数字识别?
    Pytesseract OCR具有单位数字识别和仅数字约束 在pytesseract的上下文中,在配置tesseract以识别单位数字和限制单个数字和限制输出对数字可能会提出质疑。 To address this issue, we delve into the specifics of Te...
    编程 发布于2025-04-08
  • 为什么使用Firefox后退按钮时JavaScript执行停止?
    为什么使用Firefox后退按钮时JavaScript执行停止?
    导航历史记录问题:JavaScript使用Firefox Back Back 此行为是由浏览器缓存JavaScript资源引起的。要解决此问题并确保在后续页面访问中执行脚本,Firefox用户应设置一个空功能。 警报'); }; alert('inline Alert')...
    编程 发布于2025-04-08
  • 如何干净地删除匿名JavaScript事件处理程序?
    如何干净地删除匿名JavaScript事件处理程序?
    删除匿名事件侦听器将匿名事件侦听器添加到元素中会提供灵活性和简单性,但是当要删除它们时,可以构成挑战,而无需替换元素本身就可以替换一个问题。 element? element.addeventlistener(event,function(){/在这里工作/},false); 要解决此问题,请考虑...
    编程 发布于2025-04-08
  • 如何使用Java.net.urlConnection和Multipart/form-data编码使用其他参数上传文件?
    如何使用Java.net.urlConnection和Multipart/form-data编码使用其他参数上传文件?
    使用http request 上传文件上传到http server,同时也提交其他参数,java.net.net.urlconnection and Multipart/form-data Encoding是普遍的。 Here's a breakdown of the process:Mu...
    编程 发布于2025-04-08
  • 如何有效地选择熊猫数据框中的列?
    如何有效地选择熊猫数据框中的列?
    在处理数据操作任务时,在Pandas DataFrames 中选择列时,选择特定列的必要条件是必要的。在Pandas中,选择列的各种选项。选项1:使用列名 如果已知列索引,请使用ILOC函数选择它们。请注意,python索引基于零。 df1 = df.iloc [:,0:2]#使用索引0和1 的 ...
    编程 发布于2025-04-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3