Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mencipta Fungsi Pembantu Sisipan/Kemas Kini Selamat Menggunakan Penyata Disediakan PDO?

Bagaimanakah Saya Boleh Mencipta Fungsi Pembantu Sisipan/Kemas Kini Selamat Menggunakan Penyata Disediakan PDO?

Patricia Arquette
Patricia Arquetteasal
2024-11-30 03:59:15503semak imbas

How Can I Create a Secure Insert/Update Helper Function Using PDO Prepared Statements?

Sisipkan/Kemas kini Fungsi Pembantu Menggunakan Penyata Disediakan PDO

Memandangkan batasan pemacu MySQL biasa tradisional, kami mencari penyelesaian untuk mencipta fungsi pembantu sisipan/kemas kini yang menggunakan PDO menyediakan ciri penyata.

Pembantu Penyata Disediakan Fungsi

function dbSet($fields, & $values) {
    $set = '';
    $values = array();

    foreach ($fields as $field) {
        if (isset($_POST[$field])) {
            $set .= "`$field` = ?,";
            $values[] = $_POST[$field];
        }
    }

    return rtrim($set, ',');
}

Penggunaan

$fields = explode(" ","name surname lastname address zip fax phone date");
$_POST['date'] = $_POST['y']."-".$_POST['m']."-".$_POST['d'];

$query  = "UPDATE $table SET ".dbSet($fields, $values).", stamp=NOW() WHERE>

Fungsi pembantu ini menyediakan pendekatan mudah untuk memasukkan data menggunakan pernyataan yang disediakan oleh PDO. Ia mengurangkan pengulangan kod dan menggalakkan keselamatan dengan menghapuskan keperluan untuk penggabungan rentetan langsung.

Penyelesaian Ganti: Pemetaan Perhubungan Objek (ORM)

Untuk penyelesaian yang lebih komprehensif, pertimbangkan untuk menggunakan ORM seperti Doktrin. Pendekatan ini menyediakan antara muka intuitif untuk mengurus entiti pangkalan data, membolehkan anda melakukan operasi seperti menyimpan data dengan kod minimum:

$table = new Table();
$table->fromArray($_POST);
$table->save();

Dengan menggabungkan penyelesaian ORM, anda boleh menyelaraskan operasi pangkalan data anda dan menguatkuasakan pengesahan data dalam anda model.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Fungsi Pembantu Sisipan/Kemas Kini Selamat Menggunakan Penyata Disediakan 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