PHP ialah bahasa pembangunan web yang sangat popular dan bahagian penting dalam banyak tapak web dan aplikasi. Prosedur tersimpan ialah objek pangkalan data yang boleh merangkum beberapa pernyataan SQL bersama-sama supaya ia boleh dilaksanakan sebagai satu unit semasa transaksi. Dalam PHP, kita boleh menggunakan beberapa perpustakaan dan API untuk melaksanakan prosedur tersimpan. Artikel ini akan memperkenalkan cara melaksanakan prosedur tersimpan MySQL dalam PHP.
1. Pengenalan kepada prosedur tersimpan MySQL
Prosedur tersimpan MySQL ialah bahasa pengaturcaraan yang merangkumkan penyataan SQL dalam transaksi berasingan. . Prosedur tersimpan mempunyai banyak faedah dalam MySQL, seperti:
2. Cara melaksanakan prosedur tersimpan MySQL dalam PHP
Berikut menerangkan cara melaksanakan prosedur tersimpan MySQL dalam PHP.
Pertama, kita perlu mencipta prosedur tersimpan MySQL. Anda boleh menggunakan alatan seperti MySQL Workbench atau baris arahan MySQL untuk mencipta prosedur tersimpan baharu. Sebagai contoh, kami mencipta prosedur tersimpan MySQL mudah yang berfungsi untuk mengembalikan maklumat pengguna berdasarkan ID yang diberikan. 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 tamat prosedur yang disimpan, dan kemudian mentakrifkan prosedur tersimpan bernama get_user_info, yang mempunyai parameter input user_id dan dua parameter output nama_pengguna dan e-mel pengguna. Prosedur tersimpan menggunakan arahan SELECT untuk mendapatkan maklumat pengguna daripada pangkalan data dan kemudian memberikannya kepada parameter output.
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 .
Memanggil prosedur tersimpan dalam PHP adalah sangat mudah Anda hanya perlu menyediakan pernyataan SQL dan melaksanakannya menggunakan fungsi mysqli_query(). 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 dalam pernyataan SQL. Seterusnya, gunakan fungsi mysqli_stmt_execute() untuk melaksanakan penyata SQL dan mengikat keputusan kepada pembolehubah $user_name dan $user_email. Akhir sekali, gunakan fungsi mysqli_stmt_fetch() untuk mendapatkan data dalam set hasil, dan gunakan pernyataan gema untuk mengeluarkan keputusan.
Ringkasan
Artikel ini memperkenalkan cara melaksanakan prosedur tersimpan MySQL dalam PHP. Sebelum menggunakan prosedur tersimpan, anda perlu memahami pengetahuan asas dan sintaks prosedur tersimpan MySQL, dan kemudian menggunakan alat MySQL untuk mencipta prosedur tersimpan yang diperlukan. Memanggil prosedur tersimpan menggunakan API perpustakaan mysqli dalam PHP adalah sangat mudah Anda hanya perlu menyediakan pernyataan SQL dan mengikat pembolehubah pada parameter input dan output. Prosedur tersimpan boleh meningkatkan prestasi, meningkatkan keselamatan dan kebolehselenggaraan, dan merupakan teknologi yang sangat penting dalam pembangunan pangkalan data MySQL.
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!