Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk melaksanakan prosedur tersimpan MySQL dalam PHP

Bagaimana untuk melaksanakan prosedur tersimpan MySQL dalam PHP

WBOY
WBOYke hadapan
2023-05-30 20:17:29902semak imbas

1 Pengenalan kepada prosedur tersimpan MySQL

Prosedur tersimpan MySQL ialah bahasa pengaturcaraan yang merangkum pernyataan SQL dan digunakan terutamanya dalam satu transaksi Jalankan SQL kenyataan. Prosedur tersimpan mempunyai banyak faedah dalam MySQL, seperti:

  1. Peningkatan prestasi. Menggunakan prosedur tersimpan boleh mengurangkan bilangan komunikasi dengan pangkalan data, dengan itu meningkatkan prestasi pangkalan data.

  2. Tingkatkan keselamatan. Prosedur tersimpan boleh melaksanakan kawalan kebenaran yang lebih ketat pada data, menjadikan pangkalan data lebih selamat dalam penyelenggaraan, pengurusan dan penggunaan.

  3. Tingkatkan kebolehselenggaraan. Prosedur tersimpan boleh merangkum banyak pernyataan SQL yang kompleks bersama-sama, menjadikan penyelenggaraan dan pengubahsuaian lebih mudah.

2. Cara melaksanakan prosedur tersimpan MySQL dalam PHP

Berikut menerangkan cara melaksanakan prosedur tersimpan MySQL dalam PHP.

  1. Buat prosedur tersimpan MySQL

Pertama, kita perlu mencipta prosedur tersimpan MySQL. Untuk mencipta prosedur tersimpan baharu, anda boleh menggunakan alatan seperti MySQL Workbench atau baris arahan MySQL. Sebagai contoh, kita boleh menulis prosedur tersimpan MySQL yang mudah yang menerima ID sebagai input dan mengembalikan maklumat pengguna yang sepadan. Kod khusus adalah seperti berikut:

DELIMITER //
CREATE PROCEDURE `get_user_info`(IN `user_id` INT(11), OUT `user_name` VARCHAR(50), OUT `user_email` VARCHAR(100))
BEGIN
    SELECT `name`, `email` INTO `user_name`, `user_email` FROM `users` WHERE `id` = `user_id`;
END //
DELIMITER ;

Kod di atas mula-mula menggunakan kata kunci DELIMITER untuk mentakrifkan teg mula dan akhir prosedur yang disimpan, dan kemudian mentakrifkan prosedur tersimpan bernama get_user_info, yang mempunyai parameter input user_id dan Kedua-dua parameter output nama_pengguna dan e-mel pengguna. Ayat ini boleh ditulis semula sebagai: prosedur tersimpan yang menggunakan arahan SELECT untuk mendapatkan semula maklumat pengguna daripada pangkalan data, dan kemudian menyerahkannya kepada parameter output.

  1. PHP menyambung ke pangkalan data MySQL

Sangat mudah untuk menyambung ke pangkalan data MySQL menggunakan PHP, cuma panggil fungsi mysqli_connect(). Contohnya:

$db_connection = mysqli_connect("localhost", "user_name", "password", "database_name");

di mana localhost ialah nama hos pangkalan data MySQL, nama_pengguna dan kata laluan ialah nama pengguna dan kata laluan untuk log masuk ke pangkalan data MySQL, dan nama_pangkalan data ialah nama pangkalan data yang akan disambungkan.

  1. Memanggil prosedur tersimpan dalam PHP

Memanggil prosedur tersimpan dalam PHP adalah sangat mudah, cuma sediakan pernyataan SQL dan gunakan mysqli_query() Hanya jalankan fungsi. Contohnya:

$user_id = 123;
$user_name = "";
$user_email = "";
$stmt = $db_connection->prepare("CALL get_user_info(?, ?, ?)");
$stmt->bind_param("iss", $user_id, $user_name, $user_email);
$stmt->execute();
$stmt->bind_result($user_name, $user_email);
$stmt->fetch();
echo "User Name: " . $user_name . "\n";
echo "User Email: " . $user_email . "\n";

Kod di atas mula-mula mentakrifkan pembolehubah $user_id sebagai parameter input prosedur tersimpan, menggunakan fungsi mysqli_prepare() untuk menyediakan pernyataan SQL, dan kemudian menggunakan fungsi mysqli_stmt_bind_param() untuk mengikat parameter input ke tengah pernyataan SQL. Seterusnya, gunakan fungsi mysqli_stmt_execute() untuk melaksanakan penyata SQL dan mengikat keputusan kepada pembolehubah $user_name dan $user_email. Langkah terakhir ialah menggunakan fungsi mysqli_stmt_fetch() untuk mengekstrak data dalam set hasil dan menggunakan pernyataan gema untuk mengeluarkan keputusan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan prosedur tersimpan MySQL dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam