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:

Kang Sunu

Terimakasih telah membaca tulisan saya yang berjudul Membuat CRUD dengan MySQLi dan PHP. Mohon untuk tidak menyalin sebagian atau seluruh isi dari tulisan pada halaman ini tanpa izin dari saya dan tanpa mencantumkan link aktif ke url http://www.kangsunu.web.id/2016/05/membuat-crud-dengan-mysqli-dan-php.html.
Terimakasih untuk teman-teman yang telah menghargai tulisan saya.

6 Responses to "Membuat CRUD dengan MySQLi dan PHP"

  1. Terimakasih Kang Sunu..
    Tutorial anda sangat bermanfaat

    By. Ksatria Pengelana

    ReplyDelete
    Replies
    1. terimakasih mas, semoga bermanfaat juga untuk yang lainnya yang sedang berkunjung :)

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

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

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

    ReplyDelete
  4. 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

    ReplyDelete