>本教程使用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_HOSTNAME}
,localhost
)。 127.0.0.1
{MYSQL_USERNAME}
)。 root
>
{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中文網其他相關文章!