php mysql 查询 实例

在现代Web开发中,PHP和MySQL的组合是非常常见的,PHP是一种流行的服务器端脚本语言,而MySQL是一个广泛使用的开源关系数据库管理系统,本文将通过一个实例详细介绍如何在PHP中进行MySQL查询操作。
环境准备
安装和配置
1、安装Apache:确保你的系统上安装了Apache服务器。
2、安装MySQL:下载并安装MySQL数据库。
3、安装PHP:确保PHP已经安装,并且与Apache和MySQL兼容。
4、配置数据库:创建一个MySQL数据库和表。
CREATE DATABASE example_db;
USE example_db;
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
email VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
插入示例数据
INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');
INSERT INTO users (name, email) VALUES ('Jane Smith', 'jane@example.com');
PHP连接MySQL数据库
创建数据库连接文件 `db.php`

<?php
$servername = "localhost";
$username = "root";
$password = ""; // 请根据实际设置修改
$dbname = "example_db";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn>connect_error) {
die("Connection failed: " . $conn>connect_error);
}
?>
执行查询操作
查询所有用户
创建文件fetch_users.php:
<?php
include 'db.php';
$sql = "SELECT id, name, email FROM users";
$result = $conn>query($sql);
if ($result>num_rows > 0) {
// 输出数据
while($row = $result>fetch_assoc()) {
echo "id: " . $row["id"]. " Name: " . $row["name"]. " Email: " . $row["email"]. "<br>";
}
} else {
echo "0 results";
}
$conn>close();
?>
插入新用户
创建文件add_user.php:
<?php
include 'db.php';
$name = "Alice Johnson";
$email = "alice@example.com";
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
if ($conn>query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn>error;
}
$conn>close();
?>
更新用户信息
创建文件update_user.php:
<?php
include 'db.php';
$id = 1;
$newName = "Alice Johnson";
$newEmail = "alice.j@example.com";
$sql = "UPDATE users SET name='$newName', email='$newEmail' WHERE id=$id";
if ($conn>query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn>error;
}
$conn>close();
?>
删除用户
创建文件delete_user.php:
<?php
include 'db.php';
$id = 1;
$sql = "DELETE FROM users WHERE id=$id";
if ($conn>query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn>error;
}
$conn>close();
?>
相关问题与解答
Q1: 如何防止SQL注入攻击?
A1: SQL注入攻击是一种常见的安全漏洞,可以通过以下方法来防止:

使用准备好的语句(Prepared Statements)和参数化查询(Parameterized Queries)。
$stmt = $conn>prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt>bind_param("ss", $name, $email);
$stmt>execute();
$stmt>close();
对用户输入进行验证和清理,可以使用PHP内置的过滤函数如filter_var()和htmlspecialchars()。
限制数据库用户的权限,只给予必要的最低权限。
Q2: 如何在网页上显示查询结果?
A2: 要在网页上显示查询结果,可以将PHP代码嵌入到HTML中,
<!DOCTYPE html>
<html>
<head>
<title>查询结果</title>
</head>
<body>
<?php include 'db.php'; ?>
<?php
$sql = "SELECT id, name, email FROM users";
$result = $conn>query($sql);
if ($result>num_rows > 0) {
// 输出数据表头
echo "<table><tr><th>ID</th><th>Name</th><th>Email</th></tr>";
while($row = $result>fetch_assoc()) {
echo "<tr><td>". $row["id"]. "</td><td>". $row["name"]. "</td><td>". $row["email"]. "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn>close();
?>
</body>
</html>
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/100063.html