Rumah > Artikel > pangkalan data > Bagaimana untuk Menukar Kod MySQL kepada Pernyataan PDO untuk Keselamatan dan Kecekapan yang Lebih Baik?
Bagaimana untuk menukar kod MySQL kepada penyataan PDO?
Untuk menukar penyataan if awal kepada penyataan PDO, anda perlu mula-mula wujudkan sambungan menggunakan PDO. Begini cara anda boleh melakukannya:
// Define database connection parameters $db_host = "127.0.0.1"; $db_name = "name_of_database"; $db_user = "user_name"; $db_pass = "user_password"; try { // Create a connection to the MySQL database using PDO $pdo = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE); } catch (PDOException $e) { echo 'Failed to connect to the database: ' . $e->getMessage(); }
Seterusnya, anda perlu ubah suai kod sedia ada anda untuk menggunakan pernyataan yang disediakan dengan PDO. Berikut ialah versi kod yang dikemas kini:
// Initialize variables $id = $_SESSION['u_id'] ?? NULL; $email = NULL; if($id) { // Prepare the SQL statement $sql = "SELECT email FROM users WHERE u_id = :id"; $query = $pdo->prepare($sql); // Bind the parameter and execute the query $query->bindParam(':id', $id, PDO::PARAM_STR); $query->execute(); // Fetch the result $row = $query->fetch(PDO::FETCH_OBJ); $email = $row->email; } // Initialize other variables $optionOne = $_POST['optionOne'] ?? ""; $optionTwo = $_POST['optionTwo'] ?? ""; $newSuggestion = $_POST['new-suggestion'] ?? ""; // Check if the form was submitted if($newSuggestion and $id and $email and $optionOne and $optionTwo) { // Prepare the SQL statement $sql = "INSERT INTO suggestions (user_id, email, option_1, option_2) VALUES (:id, :email, :option_1, :option_2)"; $query = $pdo->prepare($sql); // Bind the parameters and execute the query $query->bindParam(':id', $id, PDO::PARAM_STR); $query->bindParam(':email', $email, PDO::PARAM_STR); $query->bindParam(':option_1', $optionOne, PDO::PARAM_STR); $query->bindParam(':option_2', $optionTwo, PDO::PARAM_STR); $query->execute(); } else { echo "All options must be entered."; }
Kod yang dikemas kini ini menggunakan pernyataan yang disediakan dengan PDO untuk meningkatkan keselamatan dan kecekapan. Ia juga menggunakan NULL coalescing operator (??) untuk menetapkan nilai lalai kepada pembolehubah apabila ia adalah nol.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Kod MySQL kepada Pernyataan PDO untuk Keselamatan dan Kecekapan yang Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!