Bagaimanakah saya menukar kod MySQL kepada pernyataan PDO?

Mary-Kate Olsen
Lepaskan: 2024-11-06 20:51:02
asal
805 orang telah melayarinya

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);
Salin selepas log masuk

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();
Salin selepas log masuk

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();
Salin selepas log masuk

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";
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!