Bagaimana cara menjalankan prosedur tersimpan di php?

Posting ini akan membahas cara membuat Prosedur Tersimpan menggunakan PHPMyAdmin. Bagian selanjutnya akan membahas bagaimana mengeksekusi Stored Procedures menggunakan Laravel

Pertama-tama apa itu Stored Procedure?

Prosedur tersimpan adalah kode SQL siap yang dapat Anda simpan, sehingga kode tersebut dapat digunakan kembali berulang kali

Anda dapat meneruskan parameter ke prosedur tersimpan untuk mendapatkan data berdasarkan nilai Dinamis

Langkah 1. Buka PHP Admin Saya dan pilih database untuk membuat prosedur tersimpan

Langkah 2. Buka menu Rutinitas & Klik Tambahkan rutinitas

Langkah -3. Dengan mengklik Add Routine Link, PHPMyAdmin akan membuka Pop-up

Langkah -4. Ikuti langkah-langkahnya dan buat prosedur tersimpan. Buat prosedur tersimpan untuk mendapatkan data dari tabel pengguna (Tanpa Parameter)

Prosedur tersimpan Tanpa Parameter

Tanpa Parameter

CREATE PROCEDURE `GerUsers`() NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN Select * From users; END

Prosedur Tersimpan dengan Parameter

Dengan Parameter

CREATE PROCEDURE `GetUserByEmail`(IN `uEmail` VARCHAR(255)) NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN select * from users where email = uEmail; END

Jalankan Prosedur Tersimpan dari PHPMyAdmin

PHPMyAdmin akan menampilkan daftar Prosedur Tersimpan yang dibuat

Daftar Prosedur Tersimpan

Klik Jalankan tautan untuk Menjalankan Prosedur Tersimpan Tertentu

Prosedur tanpa parameter akan langsung Menjalankan Query dan menampilkan data Parameter prosedur akan membuka Pop up untuk menambahkan parameter, kemudian Jalankan Prosedur dan dapatkan data hasil

Itu dia. Semoga artikel ini membantu kalian untuk memahami bagaimana mengelola Stored Procedure Menggunakan PHP My Admin. Pada artikel selanjutnya saya akan menjelaskan bagaimana Execute Stored Procedure Di Laravel Framework

Bagian 2. https. //medium. com/@nishitvmaheta/cara-mengeksekusi-prosedur-tersimpan-menggunakan-laravel-8d067c306154

Untuk mengeksekusi pernyataan dalam database MySQL, Anda dapat menggunakan alat klien MySQL e. g. , alat klien mysql atau MySQL Workbench

Pertama, masukkan data ke dalam tabel

USE `bookdb`; DELIMITER $$ USE `bookdb`$$ CREATE PROCEDURE `get_books_published_after` (IN published_year INT) BEGIN SELECT book_id, title, isbn, published_date, name as publisher FROM books b INNER JOIN publishers p ON p.publisher_id = b.publisher_id WHERE year(published_date) > published_year; END$$ DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
_1 dengan mengeksekusi pernyataan

USE `bookdb`; DELIMITER $$ USE `bookdb`$$ CREATE PROCEDURE `get_books_published_after` (IN published_year INT) BEGIN SELECT book_id, title, isbn, published_date, name as publisher FROM books b INNER JOIN publishers p ON p.publisher_id = b.publisher_id WHERE year(published_date) > published_year; END$$ DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
2 berikut

INSERT INTO books(title, isbn, published_date,publisher_id) VALUES ('Goodbye to All That','9781541619883','2013-01-05', 3), ('The Mercies','9780316529235','2020-01-28', 3), ('On the Farm','9780763655914','2012-03-27', 2), ('Joseph Had a Little Overcoat','9780140563580','1977-03-15', 2);

Code language: SQL (Structured Query Language) (sql)

Perhatikan bahwa tabel

USE `bookdb`; DELIMITER $$ USE `bookdb`$$ CREATE PROCEDURE `get_books_published_after` (IN published_year INT) BEGIN SELECT book_id, title, isbn, published_date, name as publisher FROM books b INNER JOIN publishers p ON p.publisher_id = b.publisher_id WHERE year(published_date) > published_year; END$$ DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
_3 harus memiliki baris dengan id 2 dan 3. Jika tidak, Anda dapat menjalankan skrip yang menyisipkan baris ke dalam tabel

USE `bookdb`; DELIMITER $$ USE `bookdb`$$ CREATE PROCEDURE `get_books_published_after` (IN published_year INT) BEGIN SELECT book_id, title, isbn, published_date, name as publisher FROM books b INNER JOIN publishers p ON p.publisher_id = b.publisher_id WHERE year(published_date) > published_year; END$$ DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
3

Kedua, jalankan pernyataan

USE `bookdb`; DELIMITER $$ USE `bookdb`$$ CREATE PROCEDURE `get_books_published_after` (IN published_year INT) BEGIN SELECT book_id, title, isbn, published_date, name as publisher FROM books b INNER JOIN publishers p ON p.publisher_id = b.publisher_id WHERE year(published_date) > published_year; END$$ DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
5 berikut untuk membuat prosedur tersimpan baru bernama

USE `bookdb`; DELIMITER $$ USE `bookdb`$$ CREATE PROCEDURE `get_books_published_after` (IN published_year INT) BEGIN SELECT book_id, title, isbn, published_date, name as publisher FROM books b INNER JOIN publishers p ON p.publisher_id = b.publisher_id WHERE year(published_date) > published_year; END$$ DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
6

USE `bookdb`; DELIMITER $$ USE `bookdb`$$ CREATE PROCEDURE `get_books_published_after` (IN published_year INT) BEGIN SELECT book_id, title, isbn, published_date, name as publisher FROM books b INNER JOIN publishers p ON p.publisher_id = b.publisher_id WHERE year(published_date) > published_year; END$$ DELIMITER ;

Code language: SQL (Structured Query Language) (sql)

Prosedur tersimpan

USE `bookdb`; DELIMITER $$ USE `bookdb`$$ CREATE PROCEDURE `get_books_published_after` (IN published_year INT) BEGIN SELECT book_id, title, isbn, published_date, name as publisher FROM books b INNER JOIN publishers p ON p.publisher_id = b.publisher_id WHERE year(published_date) > published_year; END$$ DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
_6 mengembalikan semua buku yang diterbitkan setelah tahun tertentu

Ketiga, jalankan prosedur tersimpan untuk memeriksa set hasil

CALL get_books_published_after(2010);

Code language: SQL (Structured Query Language) (sql)
_

Pernyataan mengembalikan set hasil berikut

+---------+---------------------+---------------+----------------+----------------------+ | book_id | title | isbn | published_date | publisher | +---------+---------------------+---------------+----------------+----------------------+ | 1 | Goodbye to All That | 9781541619883 | 2013-01-05 | Hachette Book Group | | 2 | The Mercies | 9780316529235 | 2020-01-28 | Hachette Book Group | | 3 | On the Farm | 9780763655914 | 2012-03-27 | Penguin/Random House | +---------+---------------------+---------------+----------------+----------------------+ 3 rows in set (0.005 sec)

Code language: plaintext (plaintext)

Memanggil prosedur tersimpan MySQL dari PHP menggunakan PDO

Skrip berikut mengilustrasikan cara memanggil prosedur tersimpan

USE `bookdb`; DELIMITER $$ USE `bookdb`$$ CREATE PROCEDURE `get_books_published_after` (IN published_year INT) BEGIN SELECT book_id, title, isbn, published_date, name as publisher FROM books b INNER JOIN publishers p ON p.publisher_id = b.publisher_id WHERE year(published_date) > published_year; END$$ DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
6

<?php $published_year = 2010; // connect to the database and select the publisher $pdo = require 'connect.php'; $sql = 'CALL get_books_published_after(:published_year)'; $publishers = []; $statement = $pdo->prepare($sql); $statement->bindParam(':published_year', $published_year, PDO::PARAM_INT); $statement->execute(); $publishers = $statement->fetchAll(PDO::FETCH_ASSOC); print_r($publishers);

Code language: HTML, XML (xml)

Bagaimana itu bekerja

Pertama, buat koneksi baru ke database MySQL

$pdo = require 'connect.php';

Code language: PHP (php)

Kedua, buat pernyataan SQL yang memanggil prosedur tersimpan

USE `bookdb`; DELIMITER $$ USE `bookdb`$$ CREATE PROCEDURE `get_books_published_after` (IN published_year INT) BEGIN SELECT book_id, title, isbn, published_date, name as publisher FROM books b INNER JOIN publishers p ON p.publisher_id = b.publisher_id WHERE year(published_date) > published_year; END$$ DELIMITER ;

Code language: SQL (Structured Query Language) (sql)
6

$sql = 'CALL get_books_published_after(:published_year)';

Code language: PHP (php)

Pernyataan menerima placeholder bernama

CALL get_books_published_after(2010);

Code language: SQL (Structured Query Language) (sql)
0 sehingga Anda dapat mengikat nilai nanti

Ketiga, buat pernyataan yang disiapkan dengan memanggil metode

CALL get_books_published_after(2010);

Code language: SQL (Structured Query Language) (sql)
1 dari instance PDO

$statement = $pdo->prepare($sql);

Code language: PHP (php)

Keempat, ikat nilai pada pernyataan

$statement->bindParam(':published_year', $published_year, PDO::PARAM_INT);

Code language: PHP (php)

Kelima, jalankan panggilan stored procedure

$statement->execute();

Code language: PHP (php)

Karena prosedur tersimpan mengembalikan kumpulan hasil, Anda dapat mengambil setiap baris dalam kumpulan hasil ke dalam larik asosiatif menggunakan metode

CALL get_books_published_after(2010);

Code language: SQL (Structured Query Language) (sql)
2

Bagaimana cara menjalankan prosedur tersimpan?

Di Object Explorer, sambungkan ke instans Mesin Database SQL Server, perluas instans itu, lalu perluas Database. Perluas database yang Anda inginkan, perluas Kemampuan Program, lalu perluas Prosedur Tersimpan. Klik kanan stored procedure yang ditentukan pengguna yang Anda inginkan dan pilih Execute Stored Procedure .

Bagaimana cara memanggil fungsi SQL di PHP?

Untuk menjalankan stored procedure di aplikasi MySQL dan PHP, Anda perlu menggunakan 'Call SQL statement' seperti yang ditunjukkan di bawah ini. $a = mysql_query('call StoredProc()');

Apa itu stored procedure dan bagaimana cara menjalankannya?

Prosedur tersimpan adalah kode SQL siap yang dapat Anda simpan, sehingga kode tersebut dapat digunakan kembali berulang kali. Jadi, jika Anda memiliki kueri SQL yang Anda tulis berulang kali, simpan sebagai prosedur tersimpan, lalu panggil saja untuk menjalankannya

Bagaimana cara menjalankan prosedur tersimpan di MySQL?

Buat prosedur tersimpan sederhana. PEMBATAS ; . Anda dapat melihat prosedur di bawah prosedur tersimpan. open the MySQL workbench Connect to the MySQL Database copy-paste the code in the query editor window click on Execute. You can view the procedure under stored procedures.