Rumah > pembangunan bahagian belakang > masalah PHP > prosedur tersimpan pertanyaan php

prosedur tersimpan pertanyaan php

王林
Lepaskan: 2023-05-28 20:35:06
asal
730 orang telah melayarinya

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

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

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

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan