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>
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:
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!