Membuat CRUD dengan MySQLi dan PHP

Cara Membuat CRUD MySQLi, CRUD MySQLi di PHP, CRUD dengan MySQLi extension di PHP
Cara Membuat CRUD (Create, Read, Update, Delete) dengan MySQLi extension di PHP - Mulai PHP versi 7, kini PHP sudah tidak lagi mendukung MySQL extension untuk koneksi ke database. Pengaksesan database kini digantikan dengan MySQLi extension atau PDO. Jadi teman-teman yang suka ngoding agar melakukan migrasi dengan menggunakan MySQLi extension atau PDO.
Untuk kesempatan kali ini saya akan memberikan contoh sederhana CRUD untuk MySQLi extension baik Procedural maupun OOP. Untuk CRUD pada PDO akan segera menyusul.
Untuk contoh dari CRUD MySQLi extension ini, silakan teman-teman membuat sebuah database dan gunakan kueri berikut:
CREATE TABLE `petugas` (
  `id` int(11) NOT NULL,
  `nama` varchar(50) NOT NULL,
  `alamat` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `petugas` ADD PRIMARY KEY (`id`);

INSERT INTO `petugas` (`id`, `nama`, `alamat`) VALUES
(1, 'Yunus', 'Semarang'),
(2, 'Lusi', 'Padang'),
(3, 'Rani', 'Bandung'),
(4, 'Andi', 'Surabaya'),
(5, 'Abdul', 'Tangerang');
Bila sudah, kita buat file koneksi databasenya. Sebelumnya saya juga sudah pernah membahas tentang cara membuat koneksi database dengan MySQLi extension di PHP. Namun untuk tutorial ini, saya sediakan langsung script koneksinya.

Simpan script koneksi berikut dengan nama koneksi.php.
<?php
// Koneksi MySQLi Procedural
$db['host'] = "localhost"; //host
$db['user'] = "root"; //username database
$db['pass'] = "pass"; //password database
$db['name'] = "kangsunu_crud"; //nama database

$koneksi = mysqli_connect($db['host'], $db['user'], $db['pass'], $db['name']);
if (mysqli_connect_errno()) {
 trigger_error('Koneksi ke database gagal: '  . mysqli_connect_error(), E_USER_ERROR); // Jika koneksi gagal, tampilkan pesan "Koneksi ke database gagal"
}
?>
<?php
// Koneksi MySQLi OOP
$db['host'] = "localhost"; //host
$db['user'] = "root"; //username database
$db['pass'] = "pass"; //password database
$db['name'] = "kangsunu_crud"; //nama database

$koneksi = new mysqli($db['host'], $db['user'], $db['pass'], $db['name']);
if($koneksi->connect_error){
 trigger_error('Koneksi ke database gagal: ' . $mysqli->connect_error, E_USER_ERROR); // Jika koneksi gagal, tampilkan pesan "Koneksi ke database gagal" 
}
?>

Berikut script untuk Create untuk MySQLi extension. Simpan dengan nama create.php.
<?php
// Create MySQLi Procedural
include 'koneksi.php';

$sql = "INSERT INTO petugas (id, nama, alamat)
VALUES (null, 'Sunu', 'Yogya')";

if (mysqli_query($koneksi, $sql)) {
 echo "Data berhasil ditambahkan!";
} else {
 echo "Error: ".$sql.". ".mysqli_error($koneksi);
}
?>
<?php
// Create MySQLi OOP
include 'koneksi.php';

$sql = "INSERT INTO petugas (id, nama, alamat)
VALUES (null, 'Sunu', 'Yogya')";

if ($koneksi->query($sql) === TRUE) {
 echo "New record created successfully";
} else {
 echo "Error: ".$sql.". ". $koneksi->error;
}
?>

Berikut script untuk Read untuk MySQLi extension. Simpan dengan nama read.php.
<?php
// Read MySQLi Procedural
include 'koneksi.php';

$sql = "SELECT id, nama, alamat FROM petugas";
if (!$result = mysqli_query($koneksi, $sql)) {
 die('Error: '.mysqli_error($koneksi));
}
else{
 if (mysqli_num_rows($result) > 0) {
  // output data dari tiap baris
  while($row = mysqli_fetch_assoc($result)) {
   echo "id: " . $row['id']. " - Nama: " . $row['nama']. " " . $row['alamat']. "\n<br>";
  }
 } else {
  echo "Hasil 0";
 }
}
?>
<?php
// Read MySQLI OOP
include 'koneksi.php';

$sql = "SELECT id, nama, alamat FROM petugas";
if (!$result = $koneksi->query($sql)){
 die('Error: ' . $koneksi->error);
}
else{
 if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
   echo "id: " . $row['id']. " - Nama: " . $row['nama']. " " . $row['alamat']. "\n<br>";
  }
 } else {
  echo "Hasil 0";
 }
}
?>

Berikut script untuk Update untuk MySQLi extension. Simpan dengan nama update.php.
<?php
// Update MysSQLi Procedural
include 'koneksi.php';

$sql = "UPDATE petugas SET nama='Aziz' WHERE id=1";

if (mysqli_query($koneksi, $sql)) {
 echo "Data berhasil diperbaharui.";
} else {
 echo "Error memperbaharui data: " . mysqli_error($koneksi);
}
?>
<?php
// Update MySQLi OOP
include 'koneksi.php';

$sql = "UPDATE petugas SET nama='Aziz' WHERE id=1";

if ($koneksi->query($sql) === TRUE) {
 echo "Data berhasil diperbaharui.";
} else {
 echo "Error memperbaharui data: " . $koneksi->error;
}
?>

Berikut script untuk Delete untuk MySQLi extension. Simpan dengan nama delete.php.
<?php
// Delete MySQLi Procedural
include 'koneksi.php';

$sql = "DELETE FROM petugas WHERE id=2";
if (mysqli_query($koneksi, $sql)) {
 echo "Data berhasil dihapus.";
} else {
 echo "Gagal menghapus data: " . mysqli_error($koneksi);
}
?>
<?php
// Delete MySQLi OOP
include 'koneksi.php';

$sql = "DELETE FROM petugas WHERE id=2";
if ($koneksi->query($sql) === TRUE) {
 echo "Data berhasil dihapus.";
} else {
 echo "Error deleting record: " . $koneksi->error;
}?>

Demikian cara membuat CRUD menggunakan MySQLi extension di PHP baik Procedural maupun OOP. Silakan dicoba dan semoga bermanfaat.

Mungkin ini yang kamu cari:
Next Post Previous Post
8 Comments
  • Unknown
    Unknown 1 Juni 2016 pukul 16.58

    Terimakasih Kang Sunu..
    Tutorial anda sangat bermanfaat

    By. Ksatria Pengelana

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 1 Juni 2016 pukul 20.24

      terimakasih mas, semoga bermanfaat juga untuk yang lainnya yang sedang berkunjung :)

  • Unknown
    Unknown 23 Maret 2017 pukul 15.08

    terima kasih, tutorialnya sangat bermanfaat kang. kalau dilengkapi dengan screenshot akan lebih bagus.

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 8 April 2017 pukul 13.40

      terimakasih untuk sarannya mas, mungkin kedepannya bisa diterapkan. :)

  • Unknown
    Unknown 27 Juli 2017 pukul 21.25

    terima kasih, sangat bermanfaat ...
    visit me :
    https://hafizhcodings.blogspot.co.id/

  • Unknown
    Unknown 21 Agustus 2017 pukul 12.01

    mohon bantuannya kang untuk peringatan itu > Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\gps\login.php on line 12

  • Unknown
    Unknown 24 Juni 2018 pukul 09.39

    VALUES (null, 'Sunu', 'Yogya')" saya rubah jadi
    VALUES (7, 'Sunu', 'Yogya')"

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 26 Juni 2018 pukul 06.17

      bisa mas, asal ID 7 belum terpakai. value ID dibuat menjadi null karena sudah auto increment. jadi ID akan dibuat secara otomatis oleh Database.

Add Comment
comment url