Bagaimanakah Saya Boleh Mencipta Fungsi Pembantu PDO untuk Operasi Sisipan/Kemas Kini Yang Cekap?

Linda Hamilton
Lepaskan: 2024-11-24 05:00:13
asal
301 orang telah melayarinya

How Can I Create a PDO Helper Function for Efficient Insert/Update Operations?

Sisipkan/Kemas kini Fungsi Pembantu Menggunakan PDO

Masalah: Mencipta fungsi pembantu untuk memudahkan manipulasi data menggunakan pernyataan yang disediakan PDO. Fungsi ini harus menjana pernyataan SET untuk mengemas kini rekod sedia ada dan membolehkan pemasukan data baharu dengan mudah.

Penyelesaian:

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

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

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

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

Fungsi ini mengambil pelbagai medan nama dan rujukan kepada tatasusunan nilai. Ia berulang melalui nama medan, menyemak sama ada nilai yang sepadan wujud dalam data POST. Jika ia berlaku, ia membina serpihan pernyataan SET. Rujukan kepada tatasusunan nilai membenarkan fungsi mengisinya dengan nilai yang sesuai.

Untuk menggunakan fungsi, mula-mula letupkan nama medan ke dalam tatasusunan. Kemudian panggil fungsi, lulus tatasusunan medan dan rujukan kepada tatasusunan nilai kosong. Fungsi mengembalikan serpihan pernyataan SET. Akhir sekali, sediakan pertanyaan dan laksanakannya dengan tatasusunan nilai.

Pertimbangan:

  • Menggunakan ORM (seperti Doktrin) boleh memudahkan lagi manipulasi data, mengautomasikan kebanyakan proses manipulasi data.
  • Fungsi dbSet boleh disesuaikan lagi dengan menambah pengesahan dan ciri lain.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Fungsi Pembantu PDO untuk Operasi Sisipan/Kemas Kini Yang Cekap?. 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