Menjalankan MySQL Store Procedure dalam PHP

Setelah membuat store procedure , problem berikutnya adalah bagaimana memanggilnya didalam program PHP.

Terdapat tabel pembelian dengan skema berikut ini :

mysql> desc pembelian;
+----------+---------+------+-----+---------+----------------+
| Field    | Type    | Null | Key | Default | Extra          |
+----------+---------+------+-----+---------+----------------+
| id       | int(11) | NO   | PRI | NULL    | auto_increment |
| idproduk | int(11) | YES  |     | NULL    |                |
| qty      | int(11) | YES  |     | NULL    |                |
| tanggal  | date    | YES  |     | NULL    |                |
| harga    | double  | YES  |     | NULL    |                |
+----------+---------+------+-----+---------+----------------+
5 rows in set (0.08 sec)

Pada program PHP saat insert data ke table pembelian, akan di panggil procedure untuk update stok ( lihat : http://dev.xbata.com/database/membuat-mysql-store-procedure

Berikut kode programnya dengan menggunakan library database PDO

<?php

try {
  $dbh = new PDO('mysql:host=localhost;dbname=latihan','rojul','rojul');
  echo "Connected\n";
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  // memulai transaksi
  $dbh->beginTransaction();
  $dbh->exec(" insert into pembelian values ('','B002',2,20,900,1300,now())");
  $dbh->exec("call pembelian_produk(2,20)");
  // commit transaksi
  $dbh->commit(); 

} catch (Exception $e) {
  // batalkan transaksi
  $dbh->rollBack();
  echo "Failed: " . $e->getMessage();
}
?>

Post a Response