PHP 函数的数据库操作高级技术
php 提供了高级数据库操作函数,涵盖以下功能:连接数据库(mysqli_connect()、pdo)执行 sql 查询(mysqli_query()、pdo::query())获取查询结果(mysqli_fetch_assoc()、pdo::fetch())插入数据(mysqli_query()、pdo::exec())更新数据(mysqli_query()、pdo::exec())删除数据(mysqli_query()、pdo::exec())事务处理(mysqli_begin_transaction()、mysqli_rollback()、mysqli_commit())
PHP 函数的数据库操作高级技术
PHP 提供了一系列强大而灵活的函数,使开发者能够轻松有效地与数据库交互。这些函数为数据库操作提供了广泛的功能,从简单的插入和检索到复杂的连接管理和事务处理。
一、连接数据库
立即学习“PHP免费学习笔记(深入)”;
连接数据库是与数据库进行交互的基础。PHP 提供了以下函数进行连接操作:
// 使用 mysqli 函数连接到 MySQL 数据库$conn = mysqli_connect('localhost', 'root', '', 'my_database');// 使用 PDO 函数连接到 MySQL 数据库$conn = new PDO('mysql:host=localhost;dbname=my_database', 'root', '');
二、执行 SQL 查询
连接数据库后,可以使用 PHP 函数执行 SQL 查询:
// 使用 mysqli_query() 函数执行查询$result = mysqli_query($conn, "SELECT * FROM users");// 使用 PDO::query() 函数执行查询$result = $conn->query("SELECT * FROM users");
三、获取查询结果
执行查询后,可以通过以下方式获取结果:
// 使用 mysqli_fetch_assoc() 函数获取关联数组结果$row = mysqli_fetch_assoc($result);// 使用 PDO::fetch() 函数获取关联数组结果$row = $result->fetch(PDO::FETCH_ASSOC);
四、插入数据
使用以下函数插入数据到数据库:
// 使用 mysqli_query() 函数插入数据$result = mysqli_query($conn, "INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')");// 使用 PDO::exec() 函数插入数据$result = $conn->exec("INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')");
五、更新数据
// 使用 mysqli_query() 函数更新数据$result = mysqli_query($conn, "UPDATE users SET name = 'John Smith' WHERE id = 1");// 使用 PDO::exec() 函数更新数据$result = $conn->exec("UPDATE users SET name = 'John Smith' WHERE id = 1");
六、删除数据
// 使用 mysqli_query() 函数删除数据$result = mysqli_query($conn, "DELETE FROM users WHERE id = 1");// 使用 PDO::exec() 函数删除数据$result = $conn->exec("DELETE FROM users WHERE id = 1");
七、事务处理
// 开始事务mysqli_begin_transaction($conn);// 执行操作mysqli_query($conn, "INSERT INTO accounts (balance) VALUES (1000)");// 如果操作失败,回滚事务if (mysqli_errno($conn)) { mysqli_rollback($conn);} else { mysqli_commit($conn);}
实战案例
以下是如何使用 PHP 函数从数据库中获取用户列表:
$conn = mysqli_connect('localhost', 'root', '', 'my_database');$result = mysqli_query($conn, "SELECT * FROM users");while ($row = mysqli_fetch_assoc($result)) { echo $row['name'] . ' (' . $row['email'] . ')<br>';}