Rumah  >  Artikel  >  pangkalan data  >  Mari kita bincangkan tentang cara menggunakan prosedur tersimpan MySQL dalam PHP

Mari kita bincangkan tentang cara menggunakan prosedur tersimpan MySQL dalam PHP

PHPz
PHPzasal
2023-04-17 15:29:26578semak imbas

Di sini kami akan memperkenalkan prosedur tersimpan dalam PHP dan MySQL.

Prosedur tersimpan merujuk kepada program SQL yang boleh diguna semula, yang terdiri daripada pernyataan SQL dan pernyataan kawalan. Prosedur tersimpan boleh memudahkan pertanyaan besar dan kompleks, menjadikannya lebih mudah untuk digunakan dan diselenggara, dan ia juga boleh meningkatkan prestasi aplikasi berskala besar. Kedua-dua PHP dan MySQL menyediakan sokongan untuk prosedur tersimpan, yang boleh dijalankan sebagai sebahagian daripada aplikasi atau digunakan sebagai contoh untuk pembangunan dan penyelidikan.

Untuk menggunakan prosedur tersimpan, PHP dan MySQL menyediakan fungsi dan sintaks yang sepadan. Di bawah ini kami akan memperkenalkan sintaks asas cara menggunakan prosedur tersimpan MySQL dalam PHP.

Sintaks asas untuk mencipta prosedur tersimpan MySQL adalah seperti berikut:

CREATE PROCEDURE procedure_name
([IN/OUT] parameter_name data type [(size)]) 
BEGIN
--  SQL Statements
END;

Antaranya, "procedure_name" ialah nama prosedur yang disimpan, dan "parameter_name" ialah parameter pilihan nama, yang boleh jenis IN, OUT atau INOUT, "jenis data" ialah jenis data parameter, dan "saiz" ialah saiz parameter. Sebagai contoh, kita boleh mencipta prosedur tersimpan bernama "getcustomerinfo":

CREATE PROCEDURE getcustomerinfo (IN id INT)
BEGIN
SELECT * FROM customers WHERE customer_id = id;
END;

Sintaks asas untuk menggunakan prosedur tersimpan dalam PHP adalah seperti berikut:

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

// 调用存储过程
if ($stmt = $mysqli->prepare("CALL getcustomerinfo(?)")) {
    // 绑定参数
    $stmt->bind_param("i", $id);

    // 执行存储过程
    $stmt->execute();

    // 获取结果集
    $result = $stmt->get_result();

    // 处理结果集
    while ($row = $result->fetch_assoc()) {
        echo $row["customer_id"] . " " . $row["customer_name"] . "<br>";
    }

    // 释放结果集
    $result->free();

    // 关闭语句
    $stmt->close();
}

Dalam contoh di atas, kita terlebih dahulu Untuk memanggil prosedur tersimpan, pernyataan SQL ialah "CALL getcustomerinfo(?)". Kemudian gunakan fungsi bind_param untuk mengikat parameter Fungsi ini menerima dua parameter, yang pertama ialah rentetan jenis parameter, dan yang kedua ialah nilai parameter. Dalam contoh ini, kami mengikat nilai integer $id. Seterusnya, kami melaksanakan prosedur tersimpan dan mendapatkan set hasil, menggunakan fungsi fetch_assoc untuk mendapatkan setiap baris data daripada set hasil. Akhirnya, kami melepaskan set keputusan dan menutup penyata.

Apabila menggunakan prosedur tersimpan, anda juga harus memberi perhatian kepada perkara berikut:

  1. Prosedur tersimpan mesti dibuat dalam pangkalan data, iaitu, menggunakan pernyataan CREATE PROCEDURE.
  2. Apabila memanggil prosedur tersimpan, anda boleh menggunakan fungsi menyediakan dan melaksanakan fungsi, atau anda boleh menggunakan fungsi pertanyaan untuk melaksanakan prosedur tersimpan secara terus. Ambil perhatian bahawa apabila menggunakan fungsi pertanyaan, kata kunci CALL mesti digunakan sebelum nama prosedur yang disimpan.
  3. Apabila memanggil prosedur tersimpan, semua parameter input perlu diikat Anda boleh menggunakan fungsi bind_param untuk mengikat.
  4. Hasil yang dikembalikan oleh prosedur tersimpan boleh menjadi set hasil, bilangan baris yang terjejas, dsb. Apabila mendapatkan set hasil, anda harus menggunakan fungsi get_result.
  5. Pelaksanaan prosedur tersimpan boleh dikelilingi oleh pernyataan BEGIN dan END. Pernyataan antara BEGIN dan END akan dilaksanakan sebagai badan prosedur yang disimpan.

Ringkasnya, prosedur tersimpan ialah program SQL yang boleh menjadikan aplikasi lebih cekap dan lebih mudah diselenggarakan Kedua-dua PHP dan MySQL menyokong penggunaan prosedur tersimpan. Mahir dalam sintaks dan penggunaan prosedur tersimpan boleh membantu dengan pembangunan dan penyelenggaraan aplikasi.

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menggunakan prosedur tersimpan MySQL dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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