PHP与MySQL交互实例:通过实例展示PHP如何连接、查询和更新MySQL数据库。

润信云 技术支持

phpMySQL 交互实例:从连接到数据操作

在动态网站开发中,PHP 与 MySQL 的组合是非常常见且强大的。下面通过具体实例展示 PHP 如何连接、查询和更新 MySQL 数据库

准备工作

首先,确保服务器上已经安装了 PHP 和 MySQL 数据库,并且 PHP 已经开启了 MySQL 扩展。以 MySQL 8.0 为例,我们先创建一个名为 testdb 的数据库,并在其中创建一个名为 users 的表,表结构如下:

CREATE DATABASE testdb;
USE testdb;
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL
);

PHP 连接 MySQL 数据库

在 PHP 中,我们可以使用 mysqli 扩展来连接 MySQL 数据库。以下是连接代码示例:

<?php
$servername = "localhost";
$username = "root";
$password = "your_password";
$dbname = "testdb";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: ". $conn->connect_error);
}
echo "连接成功";
?>

上述代码中,我们定义了数据库服务器地址、用户名、密码和数据库名,然后使用 mysqli 类创建连接对象。如果连接失败,将输出错误信息并终止脚本。

查询 MySQL 数据库

假设我们要从 users 表中查询所有用户信息,代码如下:

<?php
// 连接数据库代码省略

$sql = "SELECT * FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "ID: ". $row["id"]. " - 用户名: ". $row["username"]. " - 邮箱: ". $row["email"]. "<br>";
    }
} else {
    echo "没有找到记录";
}

$conn->close();
?>

这里先定义了 SQL 查询语句,然后使用 query 方法执行查询。通过 num_rows 判断是否有查询结果,若有则使用 fetch_assoc 逐行获取结果并输出。

更新 MySQL 数据库

现在我们来更新 users 表中某个用户的邮箱地址。假设要将 ID 为 1 的用户邮箱更新,代码如下:

<?php
// 连接数据库代码省略

$new_email = "new@example.com";
$user_id = 1;

$sql = "UPDATE users SET email =? WHERE id =?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("si", $new_email, $user_id);
$stmt->execute();

if ($stmt->affected_rows > 0) {
    echo "记录更新成功";
} else {
    echo "没有记录被更新";
}

$stmt->close();
$conn->close();
?>

在更新操作中,我们使用了预处理语句 prepare,通过 bind_param 绑定参数,这样可以有效防止 SQL 注入攻击。然后执行 execute 方法执行更新操作,通过 affected_rows 判断是否有记录被更新。

通过以上实例,我们详细展示了 PHP 与 MySQL 数据库的连接、查询和更新操作。这些操作是构建动态网站和应用程序的基础,合理运用能确保数据的高效处理和安全存储。

本文链接:https://blog.runxinyun.com/post/496.html 转载需授权!

分享到:
版权声明
网站名称: 润信云资讯网
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!邮件:7104314@qq.com
网站部分内容来源于网络,版权争议与本站无关。请在下载后的24小时内从您的设备中彻底删除上述内容。
如无特别声明本文即为原创文章仅代表个人观点,版权归《润信云资讯网》所有,欢迎转载,转载请保留原文链接。
0 48

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。