開始使用PHP MySQL數據庫中的CRUD操作
>本教程使用PHP和MySQL演示了基本CRUD(創建,讀,更新,刪除)操作。 對於PHP開發人員學習數據庫連接性,這是任何Web應用程序的重要技能。 我們將重點介紹Core mysqli
函數以進行簡單。
擴展名的工作PHP和MySQL安裝。 您可以使用mysqli
(查找“ MySQLI”部分)或命令行工具來驗證這一點:phpinfo()
>。 如果輸出已啟用,則應列出php -m
。 mysqli
>
- 建立數據庫連接
- 選擇數據庫
- >插入和更新記錄
- >檢索記錄
- 刪除記錄
數據庫連接:
>我們將使用程序方法和函數來清晰。 該功能需要四個參數:mysqli_connect
$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}", "{MYSQL_DATABASE}"); var_dump($connection_obj);
- :mySQL Server主機名或IP(例如,
{MYSQL_HOSTNAME}
,localhost
)。127.0.0.1
- :mysql用戶名(通常
{MYSQL_USERNAME}
)。root
> - :mySQL密碼(通常最初是空白的)。
{MYSQL_PASSWORD}
> - :數據庫名稱。
{MYSQL_DATABASE}
$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}", "{MYSQL_DATABASE}"); if (!$connection_obj) { echo "Error No: " . mysqli_connect_errno(); echo "Error Description: " . mysqli_connect_error(); exit; }
選擇數據庫:
允許在連接之後切換數據庫:mysqli_connect
mysqli_select_db
$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}"); if (!$connection_obj) { /* error handling as above */ } mysqli_select_db($connection_obj, "{MYSQL_DATABASE}");將連接對象和數據庫名稱作為參數。
mysqli_select_db
創建和更新記錄:
>
創建一個mySQL表(例如,使用phpmyadmin):
>插入:
CREATE TABLE `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `email` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `phone` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
>至關重要的是,可防止SQL注入漏洞。
更新:$name = 'John Smith'; $email = 'john.smith@yahoo.com'; $phone = '541-754-1234'; $query = "INSERT INTO employee(`name`,`email`, `phone`) VALUES ('" . mysqli_real_escape_string($connection_obj, $name) . "','" . mysqli_real_escape_string($connection_obj, $email) . "','" . mysqli_real_escape_string($connection_obj, $phone) . "')"; mysqli_query($connection_obj, $query);
>
mysqli_real_escape_string
檢索記錄:
$id = 1; $phone = '333-555-4444'; $query = "UPDATE employee SET `phone` = '" . mysqli_real_escape_string($connection_obj, $phone) . "' WHERE `id` = '" . (int)$id . "'"; mysqli_query($connection_obj, $query);檢索行;
>允許按名稱或索引訪問列。 僅提供關聯陣列。
$query = "SELECT * FROM employee"; $result = mysqli_query($connection_obj, $query) or die(mysqli_error($connection_obj)); while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) { echo "ID:" . $row['id'] . "<br>"; echo "Name:" . $row['name'] . "<br>"; echo "Phone:" . $row['phone'] . "<br>"; echo "Email:" . $row['email'] . "<br><br>"; }刪除記錄:
mysqli_fetch_array
在所有操作之後,請記住使用MYSQLI_BOTH
關閉連接。 此示例為PHP中更複雜的數據庫交互提供了基礎。 請記住要始終對用戶輸入進行消毒以防止SQL注入。 mysqli_fetch_assoc
>
>(注意:圖像URL是原始輸入中的佔位符。如果需要,將它們替換為實際的圖像URL。)
以上是開始使用PHP MySQL數據庫中的CRUD操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Stock Market GPT
人工智慧支援投資研究,做出更明智的決策

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

useunSerialize(serialize($ obj))fordeepcopyingwhenalldataiSerializable;否則,exhiment__clone()tomanallyDuplicateNestedObjectedObjectSandAvoidSharedReference。

usearray_merge()tocombinearrays,oftritingDupritingDuplicateStringKeySandReIndexingNumericKeys; forsimplerconcatenation,尤其是innphp5.6,usethesplatoperator [... $ array1,... $ array2]。

NamespacesinPHPorganizecodeandpreventnamingconflictsbygroupingclasses,interfaces,functions,andconstantsunderaspecificname.2.Defineanamespaceusingthenamespacekeywordatthetopofafile,followedbythenamespacename,suchasApp\Controllers.3.Usetheusekeywordtoi

本文深入探討了在MySQL中如何利用CASE語句進行條件聚合,以實現對特定字段的條件求和及計數。通過一個實際的預訂系統案例,演示瞭如何根據記錄狀態(如“已結束”、“已取消”)動態計算總時長和事件數量,從而克服傳統SUM函數無法滿足複雜條件聚合需求的局限性。教程詳細解析了CASE語句在SUM函數中的應用,並強調了COALESCE在處理LEFT JOIN可能產生的NULL值時的重要性。

__call()methodistred prightedwhenaninAccessibleOrundEfinedMethodiscalledonAnaBject,允許customhandlingByAcceptingTheMethodNameAndarguments,AsshoheNpallingNengallingUndEfineDmethodSlikesayHello()

toupdateadatabaseRecordInphp,firstConnectusingpDoormySqli,thenusepreparedStatementStoExecuteAsecuteAsecuresqurupDatequery.example.example:$ pdo = newpdo(“ mySql:mysql:host = localHost; localhost; localhost; dbname; dbname = your_database = your_database',yous_database',$ username,$ username,$ squeaste;

usepathinfo($ fileName,pathinfo_extension)togetThefileextension; itreliablyhandlesmandlesmultipledotsAndEdgecases,返回theextension(例如,“ pdf”)oranemptystringifnoneexists。
