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