如何使用 PDO 进行 SQL 转换
简介
PDO(PHP 数据对象) ) 提供了一个统一的 API,用于在 PHP 中与数据库进行交互。它提供了一种结构化且一致的方法来编写和执行 SQL 查询。本文演示了如何将提供的 PHP 代码中的第一个 if 语句从使用 mysqli 转换为使用 PDO 进行数据库访问。
更新代码
要在中使用 PDO if 语句,首先定义数据库连接参数:
$db_host = "127.0.0.1"; $db_name = "name_of_database"; $db_user = "user_name"; $db_pass = "user_password"; // Create a connection to the MySQL database $pdo = new PDO( "mysql:host={$db_host};dbname={$db_name}", $db_user, $db_pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => FALSE ] );
接下来,更新 if 语句以使用 PDO 准备好的语句:
if ($id) { $sql = "SELECT email FROM users WHERE u_id = ?"; $query = $pdo->prepare($sql); // Prepare the query $query->execute([$id]); // Bind the parameter and execute the query $email = $query->fetchColumn(); // Return the value from the database }
fetchColumn() 方法检索单个结果集中的列。
其他注意事项
完成更新的代码
$id = $_SESSION['u_id'] ?? NULL; if ($id) { $sql = "SELECT email FROM users WHERE u_id = ?"; $query = $pdo->prepare($sql); $query->execute([$id]); $email = $query->fetchColumn(); } $email = $email ?? ""; $suggestions = selectAll($table); $optionOne = $_POST['optionOne'] ?? ""; $optionTwo = $_POST['optionTwo'] ?? ""; $newSuggestion = $_POST['new-suggestion'] ?? ""; if ($newSuggestion && $id && $email && $optionOne && $optionTwo) { $sql = "INSERT INTO suggestions (user_id, email, option_1, option_2) VALUES (?, ?, ?, ?)"; $query = $pdo->prepare($sql); $query->execute([$id, $email, $optionOne, $optionTwo]); } else { echo "All options must be entered"; }
通过将代码转换为使用 PDO,您可以增强其安全性并提高其性能跨不同数据库系统的可移植性。
以上是如何在 PHP 中将 MySQLi 语句转换为 PDO?的详细内容。更多信息请关注PHP中文网其他相关文章!