Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Memanggil Prosedur Tersimpan MySQL dari Kod PHP?

Bagaimana untuk Memanggil Prosedur Tersimpan MySQL dari Kod PHP?

Linda Hamilton
Linda Hamiltonasal
2024-11-07 06:10:02601semak imbas

How to Call a MySQL Stored Procedure from PHP Code?

Cara Memanggil Prosedur Tersimpan MySQL daripada Kod PHP

Latar Belakang:
Memanggil prosedur tersimpan MySQL dari Kod PHP membolehkan anda melaksanakan operasi pangkalan data yang kompleks dengan berkesan. Artikel ini menunjukkan pendekatan terbaik untuk menggunakan prosedur tersimpan daripada PHP menggunakan MySQL versi 4.1.11 (pelanggan) dan 5.0.45 (pelayan).

Definisi Prosedur Tersimpan:
The contoh prosedur tersimpan, getTreeNodeName, mengembalikan nama nod yang diberikan IDnya:

DELIMITER $$

DROP FUNCTION IF EXISTS `getNodeName` $$
CREATE FUNCTION `getTreeNodeName`(`nid` int) RETURNS varchar(25) CHARSET utf8
BEGIN
 DECLARE nodeName varchar(25);
 SELECT name into nodeName FROM tree
 WHERE id = nid;
 RETURN nodeName;
END $$

DELIMITER ;

Kod PHP untuk Mendapat Prosedur Tersimpan:

Untuk memanggil prosedur getTreeNodeName, anda boleh menggunakan sambungan mysqli dan bukannya sambungan mysql yang tidak digunakan lagi. Berikut ialah kod PHP:

<?php 

// enable error reporting
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

// connect to database
$connection = mysqli_connect("hostname", "user", "password", "db", "port");

// run the stored procedure
$result = mysqli_query($connection, "CALL getTreeNodeName");

// loop the result set
while ($row = mysqli_fetch_array($result)) {
  echo $row[0] . " - " . $row[1]; // replace with appropriate column indices
}

Nota:
Ramai pengguna telah melaporkan isu menggunakan fungsi mysql_connect, mysql_query dan mysql_fetch_array yang lebih lama. Anda disyorkan untuk menggunakan sambungan mysqli sebaliknya.

Atas ialah kandungan terperinci Bagaimana untuk Memanggil Prosedur Tersimpan MySQL dari Kod 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