ホームページ >データベース >mysql チュートリアル >PHP で MySQLi ステートメントを PDO に変換するにはどうすればよいですか?
PDO を使用して SQL 変換を行う方法
概要
PDO (PHP データ オブジェクト) ) は、PHP でデータベースと対話するための統合 API を提供します。 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 ] );
次に、PDO プリペアド ステートメントを使用するように if ステートメントを更新します:
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 中国語 Web サイトの他の関連記事を参照してください。