Rumah >pangkalan data >tutorial mysql >Bagaimana untuk memanggil prosedur tersimpan MySQL dalam PHP

Bagaimana untuk memanggil prosedur tersimpan MySQL dalam PHP

PHPz
PHPzasal
2023-04-17 16:41:39879semak imbas

MySQL dan PHP adalah teknologi yang sering digunakan dalam pembangunan web Antaranya, prosedur tersimpan merupakan ciri penting MySQL. Dalam artikel ini, kami akan memperkenalkan prosedur tersimpan MySQL dan melaksanakannya dalam kombinasi dengan bahasa PHP.

  1. Apakah prosedur disimpan MySQL?

Prosedur tersimpan MySQL ialah blok kod SQL boleh guna semula yang boleh ditakrifkan dan dipanggil dalam atur cara. Ia serupa dengan fungsi yang menerima parameter dan mengembalikan nilai. Prosedur tersimpan boleh disimpan di bahagian pelayan MySQL dan dipanggil dari kod klien.

  1. Kelebihan prosedur tersimpan
  • Tingkatkan kebolehgunaan semula kod dan elakkan pernyataan SQL berulang;
  • Tingkatkan keselamatan keselamatan data, kawalan akses boleh dijalankan keluar melalui prosedur tersimpan;
  • meningkatkan prestasi, prosedur tersimpan dilaksanakan pada bahagian pelayan, mengurangkan overhed komunikasi rangkaian; .
Sintaks asas prosedur tersimpan MySQL
  1. Sintaks prosedur tersimpan MySQL adalah serupa dengan fungsi dan prosedur dalam bahasa lain. Ia terdiri daripada tiga kata kunci: CIPTA, PROSEDUR dan TAMAT. Kata kunci CREATE PROCEDURE diikuti dengan senarai nama dan parameter prosedur tersimpan, kemudian badan prosedur tersimpan, dan akhir sekali kata kunci TAMAT.

Berikut ialah contoh prosedur tersimpan MySQL yang mudah:

Prosedur tersimpan di atas menerima parameter id, dan menanyakan nama dan umur yang sepadan dengan id daripada jadual pekerja, dan kemudian Mereka diberikan kepada parameter keluaran nama dan umur.
CREATE PROCEDURE `get_employee`(IN id INT, OUT name VARCHAR(50), OUT age INT)
BEGIN
  SELECT `name`, `age` INTO name, age FROM `employee` WHERE `id` = id;
END

Memanggil prosedur tersimpan MySQL dalam PHP
  1. Memanggil prosedur tersimpan MySQL dalam kod PHP adalah sangat mudah. Untuk memanggil prosedur tersimpan, anda boleh menggunakan pernyataan CALL yang disediakan oleh sambungan MySQLi atau sambungan PDO. Berikut ialah contoh kod yang menggunakan sambungan MySQLi untuk memanggil prosedur tersimpan MySQL:

Kod di atas bersambung ke pangkalan data MySQL, dan kemudian memanggil prosedur tersimpan bernama get_employee melalui pernyataan CALL, lulus dalam parameter id. Kemudian gunakan kaedah bind_result untuk mengikat parameter output prosedur tersimpan kepada pembolehubah PHP, dan akhirnya laksanakan prosedur tersimpan dan gunakan kaedah ambil untuk mendapatkan nilai parameter output.
// 配置连接参数
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 建立连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// 调用存储过程
$id = 1;
$stmt = $conn->prepare("CALL get_employee(?, ?, ?)");
$stmt->bind_param("i", $id);
$stmt->bind_result($name, $age);
$stmt->execute();
$stmt->fetch();
$stmt->close();

echo "Name: ".$name.", Age: ".$age;

Ringkasan
  1. Prosedur disimpan MySQL ialah ciri yang sangat praktikal yang boleh meningkatkan kebolehgunaan semula kod, meningkatkan keselamatan data, meningkatkan prestasi dan mengurangkan interaksi pangkalan data. Ia juga sangat mudah untuk memanggil prosedur tersimpan MySQL dalam kod PHP Anda hanya perlu menggunakan pernyataan CALL yang disediakan oleh sambungan MySQLi atau sambungan PDO. Semoga artikel ini membantu anda lebih memahami prosedur tersimpan MySQL dan panggilan prosedur tersimpan dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk memanggil 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