Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah saya menukar kod MySQL kepada pernyataan PDO?

Bagaimanakah saya menukar kod MySQL kepada pernyataan PDO?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-06 20:51:02805semak imbas

How do I convert MySQL code to PDO statements?

Bagaimana untuk menukar kod MySQL kepada penyataan PDO?

Apabila bekerja dengan pangkalan data dalam PHP, selalunya perlu menukar kod MySQL kepada pernyataan PDO (Objek Data PHP). PDO menyediakan cara yang konsisten dan selamat untuk berinteraksi dengan pangkalan data, tanpa mengira pemacu asas. Panduan ini akan menunjukkan kepada anda cara menukar kod MySQL anda kepada pernyataan PDO.

Buat sambungan

Langkah pertama ialah membuat sambungan ke pangkalan data menggunakan PDO. Berikut ialah contoh cara untuk melakukannya:

$db_host = "127.0.0.1";
$db_name = "database_name";
$db_user = "username";
$db_pass = "password";

$pdo = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);

Mengemas kini kod anda

Setelah anda mempunyai sambungan PDO, anda boleh mula menukar kod MySQL anda kepada pernyataan PDO.

Pernyataan yang disediakan dengan mysqli dan PDO

Pernyataan yang disediakan ialah cara selamat untuk melaksanakan pertanyaan yang mengandungi data yang dibekalkan pengguna. Mereka menghalang suntikan SQL dengan mengikat data kepada pertanyaan sebelum ia dilaksanakan.

Berikut ialah contoh pernyataan yang disediakan dalam MySQLi:

$sql = "SELECT * FROM users WHERE username = ? AND password = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$result = $stmt->get_result();

Berikut adalah pertanyaan yang sama dalam PDO:

$sql = "SELECT * FROM users WHERE username = ? AND password = ?";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->bindParam(2, $password, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll();

Kod dikemas kini

Berikut ialah contoh cara menukar kod MySQL daripada soalan kepada pernyataan PDO:

$id = $_SESSION['u_id'] ?? NULL;

if ($id) {
    $sql = "SELECT email FROM users WHERE u_id = ?";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$id]);
    $email = $stmt->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 (?, ?, ?, ?)";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$id, $email, $optionOne, $optionTwo]);
} else {
    echo "All options must be entered";
}

Ringkasan

Menukar kod MySQL kepada pernyataan PDO adalah proses yang agak mudah. Dengan mengikut langkah yang digariskan dalam panduan ini, anda boleh memindahkan kod anda ke PDO dengan mudah dan memanfaatkan faedahnya, seperti keselamatan dan prestasi yang dipertingkatkan.

Atas ialah kandungan terperinci Bagaimanakah saya menukar kod MySQL kepada pernyataan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn