」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > PHP CRUD 操作初學者指南

PHP CRUD 操作初學者指南

發佈於2024-08-05
瀏覽:839

介绍

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]刪除
最新教學 更多>
  • 如何加速 Matplotlib 繪圖以提高效能?
    如何加速 Matplotlib 繪圖以提高效能?
    為什麼 Matplotlib 這麼慢? 在評估 Python 繪圖庫時,考慮效能很重要。 Matplotlib 是一個廣泛使用的函式庫,它看起來可能很緩慢,引發了關於加快速度或探索替代選項的問題。讓我們深入研究這個問題並探索可能的解決方案。 提供的範例展示了具有多個子圖和資料更新的圖。使用 Matp...
    程式設計 發佈於2024-11-06
  • 使用畫布調整影像大小時如何克服鋸齒狀邊緣和模糊結果?
    使用畫布調整影像大小時如何克服鋸齒狀邊緣和模糊結果?
    解決在JavaScript 中使用Canvas 調整影像大小時的平滑問題在JavaScript 中使用Canvas 調整影像大小有時會導致明顯的鋸齒狀邊緣或模糊。為了實現平滑的調整大小,可以採用一種稱為向下步進的技術。 在大多數瀏覽器中,預設使用線性內插法來調整大小。雙三次插值可產生更平滑的結果,涉...
    程式設計 發佈於2024-11-06
  • 如何解決 MySQL C# 中的文字編碼問題?
    如何解決 MySQL C# 中的文字編碼問題?
    修復MySQL C# 中的文字編碼問題使用實體框架在C# 中處理MySQL 資料庫時,使用者可能會遇到文字編碼問題,特別是帶有特殊字符,例如“ë”,渲染不正確。本文探討了解決此常見問題的最合適的解決方案。 要修正編碼問題,必須執行以下操作:驗證排序規則設定: 確保所涉及的資料庫或表的排序規則與UTF...
    程式設計 發佈於2024-11-06
  • 如何將美麗搜尋與 Node.js 集成
    如何將美麗搜尋與 Node.js 集成
    作為 Node.js 開發人員,建立能夠提供快速且準確的搜尋結果的應用程式非常重要。使用者期望立即得到相關的回應,但實現起來可能具有挑戰性,特別是在處理大型資料集時。 這就是美麗搜尋的用武之地——一個為輕鬆滿足這些需求而構建的搜尋引擎。 什麼是美麗搜尋? Meilisearch ...
    程式設計 發佈於2024-11-06
  • 平行 JavaScript 機
    平行 JavaScript 機
    作者:Vladas Saulis,PE Prodata,克萊佩達,立陶宛 2024 年 5 月 18 日 抽象的 本文提出了一種新的程式設計模型,可以以簡單且自動平衡的方式利用多核心 CPU 系統。該模型還提出了一種更簡單的程式設計範例,用於在大多數大規模平行計算領域(例如天氣預報、核子物理、搜尋引...
    程式設計 發佈於2024-11-06
  • 推薦項目:人事管理系統資料庫設置
    推薦項目:人事管理系統資料庫設置
    LabEx 的這個綜合計畫提供了深入研究資料庫管理世界的寶貴機會,重點是人事管理系統的創建和實施。無論您是新手資料庫管理員還是經驗豐富的開發人員,這種實務經驗都將為您提供必要的技能,以便在關聯式資料庫環境中有效管理和操作資料。 深入了解資料庫基礎知識 這個專案首先引導您完成使用 s...
    程式設計 發佈於2024-11-06
  • Python 中實例方法和類別方法有什麼不同?
    Python 中實例方法和類別方法有什麼不同?
    類別與實例方法Python 的PEP 8 風格指南建議使用“self”作為實例方法的第一個參數,使用“ cls」作為類別方法的第一個參數。理解這兩類方法之間的區別對於有效的物件導向程式設計至關重要。 實例方法實例方法與類別的特定實例相關聯。它們對實例的資料進行操作,並且通常接收“self”作為它們的...
    程式設計 發佈於2024-11-06
  • 將 AdoptiumJDK 原始碼載入到 Eclipse IDE 中
    將 AdoptiumJDK 原始碼載入到 Eclipse IDE 中
    AdoptiumJDK 的安裝程式中沒有內建原始程式碼文件,如果您需要透過 Eclipse IDE 檢查如何使用任何本機 JDK 方法,這是不可能的。 依照以下步驟在Eclipse IDE中載入原始碼: 造訪 AdoptiumJDK 官方網站並按所需的 JDK 版本進行過濾,在我的例子中是 11....
    程式設計 發佈於2024-11-06
  • 絕對定位與相對定位:為什麼它們的行為如此不同?
    絕對定位與相對定位:為什麼它們的行為如此不同?
    了解絕對位置與相對位置:寬度、高度等處理網頁上的元素定位時,了解這些概念絕對位置與相對位置的區別至關重要。讓我們深入探討經常引起疑問的四個關鍵點:1。相對寬度與絕對寬度為何相對定位的div會自動佔據100%寬度,而絕對定位的div只佔據內容寬度? 原因是設定位置:absolute 從文件結構的正常流...
    程式設計 發佈於2024-11-06
  • Python、Node js 和 PHP 中用於驗證碼識別的頂層模組
    Python、Node js 和 PHP 中用於驗證碼識別的頂層模組
    在我们的自动化时代,大多数解决方案都可以免费找到,我现在不是在谈论解决数学问题,而是稍微复杂的任务,例如数据解析,和我们的例子一样,还有 recapcha 识别。但如何找到一个好的模块呢?毕竟,随着技术的发展,每个人都得到了它,无论是认真的开发人员还是彻头彻尾的骗子。 我分析了验证码识别模块的市场,...
    程式設計 發佈於2024-11-06
  • 以下是一些標題選項,重點關注問題格式和核心內容:

**選項 1(直接且簡潔):**

* **如何在 PHP 中有效率地循環多維數組?

**選項2
    以下是一些標題選項,重點關注問題格式和核心內容: **選項 1(直接且簡潔):** * **如何在 PHP 中有效率地循環多維數組? **選項2
    在 PHP 中循環多維數組多維數組可能是解析的一個挑戰,特別是在處理不同深度級別和非順序索引時。考慮一個保存事件資訊的數組,其中可以包含多個藝術家及其相應的鏈接,如下所示:array(2) { [1]=> array(3) { ["eventID"]...
    程式設計 發佈於2024-11-06
  • 透過 Linting 提高程式碼品質
    透過 Linting 提高程式碼品質
    Whenever I start a new project, one of the first things I do is put in place a code linter. For the uninitiated, linters analyze your project and call...
    程式設計 發佈於2024-11-06
  • 如何有效執行JavaScript中的回呼函數?
    如何有效執行JavaScript中的回呼函數?
    理解JavaScript 中回呼函數的本質在JavaScript 中,回呼函數提供了一種方便的機制,可以在另一個函數完成後執行一個函數它的執行。雖然概念很簡單,但回調的最佳實作有時可能不清楚。讓我們探討一個簡化的範例:var myCallBackExample = { myFirstFunc...
    程式設計 發佈於2024-11-06
  • Vue 框架簡介
    Vue 框架簡介
    What is Vue? from the Vue website Vue is a "progressive" JavaScript framework for building user interfaces. It works by build...
    程式設計 發佈於2024-11-06
  • 逃離戲劇:為什麼 HydePHP 是您的 WordPress 替代品
    逃離戲劇:為什麼 HydePHP 是您的 WordPress 替代品
    WordPress 戲劇 隨著 WordPress 生態系統面臨前所未有的混亂,許多開發人員和網站所有者正在重新考慮他們的平台選擇。最近 WordPress 共同創辦人 Matt Mullenweg 和 WP Engine 之間的衝突凸顯了 WordPress 社群內的控制、貢獻和...
    程式設計 發佈於2024-11-06

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3