Contoh yang Anda posting tidak masuk akal - pg_prepare()
dan pg_query_params()
adalah fungsi independen dengan tujuan berbeda yang biasanya tidak Anda gunakan bersama.
pg_prepare()
menyiapkan pernyataan (kueri) untuk eksekusi nanti melalui pg_execute()
. Ini dilakukan sebagai pengoptimalan potensial - jika Anda tahu sebelumnya bahwa Anda perlu mengeksekusi pernyataan berkali-kali berturut-turut, mempersiapkannya di muka dapat menghemat beberapa pekerjaan di server database, karena tidak harus (kembali) mempersiapkan pernyataan untuk setiap panggilan.
pg_query_params()
(serta versi 'lebih sederhana' pg_query()
) hanya mengeksekusi pernyataan (query) secara langsung, memaksa server database untuk (kembali) menyiapkan pernyataan setiap kali fungsi dipanggil.
Jadi singkatnya, ini
$result = pg_query_params($query, $params);
akan memberi Anda hasil yang sama persis seperti ini
$statement = pg_prepare($query);
$result = pg_execute($statement, $params);
Satu-satunya perbedaan adalah bahwa dalam kasus kedua, Anda masih memiliki pernyataan yang disiapkan, siap untuk digunakan kembali untuk lebih banyak panggilan ke pg_execute()
- itulah sebabnya Anda dapat memberinya nama, karena dengan cara itu Anda dapat memiliki pernyataan siap yang berbeda pada koneksi yang sama yang dapat Anda jalankan sesuka Anda, berkali-kali, dalam urutan yang berubah-ubah.