>本教程使用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中文网其他相关文章!