这篇文章将为大家详细讲解有关PHP操作MySQL数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
PHP 操作 MySQL 数据库
建立数据库连接
$servername = "localhost";
$username = "root";
$password = "password";
$database = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $database);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
执行 SQL 查询
// 准备查询
$sql = "SELECT * FROM users";
// 执行查询
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 循环输出结果
while($row = $result->fetch_assoc()) {
echo $row["id"] . " - " . $row["name"] . "<br>";
}
} else {
echo "没有结果";
}
执行 SQL 插入
// 准备插入语句
$sql = "INSERT INTO users (name, email) VALUES ("John", "john@example.com")";
// 执行插入
if ($conn->query($sql) === TRUE) {
echo "新记录创建成功";
} else {
echo "错误: " . $conn->error;
}
执行 SQL 更新
// 准备更新语句
$sql = "UPDATE users SET name="John Doe" WHERE id=1";
// 执行更新
if ($conn->query($sql) === TRUE) {
echo "记录更新成功";
} else {
echo "错误: " . $conn->error;
}
执行 SQL 删除
// 准备删除语句
$sql = "DELETE FROM users WHERE id=1";
// 执行删除
if ($conn->query($sql) === TRUE) {
echo "记录删除成功";
} else {
echo "错误: " . $conn->error;
}
转义特殊字符
// 准备查询(使用转义字符)
$sql = "SELECT * FROM users WHERE name="" . $conn->real_escape_string($_GET["name"]) . """;
// 执行查询
$result = $conn->query($sql);
关闭数据库连接
// 关闭连接
$conn->close();
准备语句
准备语句是一种更安全、更高效的方式来执行 SQL 查询,因为它可以防止 SQL 注入攻击。
// 准备语句
$stmt = $conn->prepare("SELECT * FROM users WHERE name=?");
// 绑定参数
$stmt->bind_param("s", $name);
// 设置参数值
$name = "John";
// 执行语句
$stmt->execute();
// 获取结果
$result = $stmt->get_result();
事务
事务允许你将多个数据库操作组合成一个单一的原子操作,确保要么所有操作都成功完成,要么全部回滚。
// 开始事务
$conn->begin_transaction();
// 执行 SQL 查询
$sql1 = "UPDATE users SET name="John Doe" WHERE id=1";
$sql2 = "INSERT INTO orders (user_id, product_id) VALUES (1, 10)";
// 执行查询
if ($conn->query($sql1) === TRUE && $conn->query($sql2) === TRUE) {
// 提交事务
$conn->commit();
} else {
// 回滚事务
$conn->rollback();
}
以上就是PHP操作MySQL数据库的详细内容,更多请关注编程学习网其它相关文章!