Dalam PHP, kadangkala anda perlu memanggil prosedur tersimpan dalam pangkalan data untuk menyelesaikan operasi tertentu. Dalam kes ini, anda perlu menggunakan integrasi sambungan pangkalan data PHP untuk berinteraksi dengan pangkalan data. Artikel ini akan memperkenalkan cara untuk menanyakan prosedur tersimpan dalam PHP.
Langkah 1: Sambungkan ke pangkalan data
Pertama sekali, anda perlu memastikan bahawa anda telah menyambung ke pangkalan data dengan betul. Menyambung ke pangkalan data boleh dilakukan menggunakan sambungan mysqli dalam PHP. Selepas sambungan berjaya, anda perlu memilih pangkalan data tertentu. Ini boleh dicapai dengan memanggil fungsi mysqli_select_db(). Berikut ialah contoh:
$username = "yourusername"; $password = "yourpassword"; $hostname = "localhost"; $database = "yourdatabase"; $connection = mysqli_connect($hostname, $username, $password); mysqli_select_db($connection, $database);
Dalam kod di atas, pembolehubah $username dan $password menyimpan nama pengguna dan kata laluan pangkalan data masing-masing. Pembolehubah $hostname menyimpan nama hos pangkalan data. Pembolehubah $database menyimpan nama pangkalan data. Gunakan fungsi mysqli_connect() apabila menyambung ke pangkalan data dan simpan hasilnya dalam pembolehubah $connection. Kemudian gunakan fungsi mysqli_select_db() untuk memilih pangkalan data.
Langkah 2: Tanya prosedur tersimpan
Apabila menanyakan prosedur tersimpan dalam PHP, anda perlu menggunakan fungsi mysqli_prepare() untuk menyediakan pertanyaan dan menyimpan hasilnya dalam pembolehubah. Gunakan arahan CALL dalam pernyataan pertanyaan untuk memanggil prosedur yang disimpan. Contohnya:
$userid = 1; $stmt = mysqli_prepare($connection, "CALL get_user_by_id(?)"); mysqli_stmt_bind_param($stmt, "i", $userid); mysqli_stmt_execute($stmt);
Dalam kod contoh di atas, pembolehubah $stmt menyimpan hasil pertanyaan. Fungsi mysqli_prepare digunakan untuk menyediakan pernyataan pertanyaan, di manakah pemegang tempat yang mewakili nilai parameter yang ditentukan kemudian. Nilai parameter sebenar boleh ditentukan melalui fungsi mysqli_stmt_bind_param(). Parameter pertama "i" ialah penentu format, menunjukkan jenis integer, dan parameter berikutnya $userid ialah nilai parameter yang akan dihantar. Akhir sekali, gunakan fungsi mysqli_stmt_execute() untuk melaksanakan pertanyaan.
Langkah 3: Dapatkan hasil pertanyaan
Untuk mendapatkan hasil pertanyaan prosedur tersimpan, anda perlu menggunakan fungsi mysqli_stmt_store_result() untuk menyimpan hasil dalam kawasan cache. Kemudian gunakan fungsi mysqli_stmt_bind_result() untuk mengikat hasil menjadi pembolehubah untuk digunakan dalam kod anda. Berikut ialah contoh:
mysqli_stmt_store_result($stmt); mysqli_stmt_bind_result($stmt, $col1, $col2, $col3); while (mysqli_stmt_fetch($stmt)) { printf("%s %s %s ", $col1, $col2, $col3); } mysqli_stmt_close($stmt); mysqli_close($connection);
Dalam kod sampel di atas, fungsi mysqli_stmt_store_result() digunakan untuk menyimpan hasil dalam kawasan penimbal. Kemudian gunakan fungsi mysqli_stmt_bind_result() untuk mengikat keputusan kepada pembolehubah seperti $col1, $col2, $col3, dll. untuk digunakan dalam gelung. Gunakan fungsi mysqli_stmt_fetch() dalam gelung untuk melintasi set hasil dan mengeluarkan hasil pertanyaan. Akhir sekali, gunakan fungsi mysqli_stmt_close() untuk menutup pernyataan pertanyaan dan fungsi mysqli_close() untuk menutup sambungan pangkalan data.
Ringkasan
Menyoal prosedur tersimpan ialah cara untuk melaksanakan operasi pangkalan data khusus dalam PHP. Apabila membuat pertanyaan, anda perlu memastikan anda disambungkan ke pangkalan data terlebih dahulu. Kemudian, gunakan fungsi mysqli_prepare() untuk menyediakan pertanyaan dan gunakan fungsi mysqli_stmt_bind_param() untuk menentukan parameter. Gunakan fungsi mysqli_stmt_execute() untuk melaksanakan pertanyaan. Kemudian, gunakan fungsi mysqli_stmt_store_result() untuk menyimpan hasil dalam kawasan cache dan gunakan fungsi mysqli_stmt_bind_result() untuk mengikat keputusan kepada pembolehubah. Akhir sekali, gunakan gelung sementara untuk melintasi set hasil dan gunakan fungsi mysqli_stmt_fetch() untuk mengeluarkan hasil pertanyaan. Selepas melengkapkan pertanyaan, anda perlu menggunakan fungsi mysqli_stmt_close() untuk menutup pernyataan pertanyaan dan fungsi mysqli_close() untuk menutup sambungan pangkalan data.
Atas ialah kandungan terperinci prosedur tersimpan pertanyaan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!