Baca Juga :  Cara Nonaktifkan Fitur Pencarian di WordPress

Membuat CRUD dengan MySQLi Prepared Statement menggunakan PHP

1 282

Dalam tutorial ini, kita akan melihat bagaimana menerapkan operasi CRUD menggunakan MySQLi / prepared statement. Menggunakan prepared statement adalah menguntungkan dari banyak bidang seperti, kinerja dan keamanan. Dengan menggunakan metode ini, kueri disusun untuk pertama kalinya dan resourced akan dibuat dan disimpan dalam prepared statement. Objek ini akan digunakan untuk kasus mendatang yang akan mengurangi waktu eksekusi.

Dalam contoh ini, saya membuat tabel karyawan di database untuk melakukan operasi CRUD. Kami menghubungkan database dan menyiapkan pernyataan untuk query INSERT, UPDATE, DELETE dan SELECT untuk melakukan CRUD. Kemudian, kita mengikat nilai ke parameter kueri jika diperlukan. Dalam tutorial sebelumnya, kita telah melihat tentang PHP CRUD menggunakan PDO.

Created Menggunakan Prepared Statement

Kode ini menunjukkan bentuk HTML untuk membuat catatan baru dalam database. Ini memiliki tiga bidang untuk mengumpulkan rincian karyawan. Saat mengirimkan formulir ini, kolom diposkan ke halaman PHP.

Baca Juga :  Instalasi Modul Bank Transfer (BCA, BNI, MANDIRI) Pada Opencart
<form name="frmUser" method="post" action="">
<div class="button_link"><a href="index.php"> Back to List </a></div>
<table border="0" cellpadding="10" cellspacing="0" width="500" align="center" class="tbl-qa">
	<thead>
		<tr>
			<th colspan="2" class="table-header">Add New Employee</th>
		</tr>
	</thead>
	<tbody>
		<tr class="table-row">
			<td><label>Department</label></td>
			<td><input type="text" name="department" class="txtField"></td>
		</tr>
		<tr class="table-row">
			<td><label>Name</label></td>
			<td><input type="text" name="name" class="txtField"></td>
		</tr>
		<tr class="table-row">
			<td><label>Email</label></td>
			<td><input type="text" name="email" class="txtField"></td>
		</tr>
		<tr class="table-row">
			<td colspan="2"><input type="submit" name="submit" value="Submit" class="demo-form-submit"></td>
		</tr>
	</tbody>
</table>
</form>

Dalam kode PHP, akan dibuat prepared statement untuk query INSERT dan mengikat nilai field form ke parameter query.

<?php
	if (isset($_POST['submit'])) {
		require_once("db.php");
		$sql = $conn->prepare("INSERT INTO tbl_emp_details (department,name,email) VALUES (?, ?, ?)");  
		$department=$_POST['department'];
		$name = $_POST['name'];
		$email= $_POST['email'];
		$sql->bind_param("sss", $department, $name, $email); 
		if($sql->execute()) {
			$success_message = "Added Successfully";
		} else {
			$error_message = "Problem in Adding New Record";
		}
		$sql->close();   
		$conn->close();
	} 
?>

Membuat Read Tabel

Kode berikut digunakan untuk membaca daftar karyawan dari database. Daftar ini berisi tindakan untuk mengedit dan menghapus setiap baris.

<?php 
require_once("db.php");

$sql = "SELECT * FROM tbl_emp_details";
$result = $conn->query($sql);	
$conn->close();		
?>
<html>
<head>
	<link href="style.css" rel="stylesheet" type="text/css" />
	<title>Employee</title>
</head>
<body>
	<div class="button_link"><a href="add.php">Add New</a></div>
	<table class="tbl-qa">	
		<thead>
			 <tr>
				<th class="table-header" width="20%">Department </th>
				<th class="table-header" width="20%"> Name </th>
				<th class="table-header" width="20%"> Email </th>
				<th class="table-header" width="20%" colspan="2">Action</th>
			  </tr>
		</thead>
		<tbody>		
			<?php
				if ($result->num_rows > 0) {		
					while($row = $result->fetch_assoc()) {
			?>
			<tr class="table-row" id="row-<?php echo $row["id"]; ?>"> 
				<td class="table-row"><?php echo $row["department"]; ?></td>
				<td class="table-row"><?php echo $row["name"]; ?></td>
				<td class="table-row"><?php echo $row["email"]; ?></td>
				<!-- action -->
				<td class="table-row" colspan="2"><a href="edit.php?id=<?php echo $row["id"]; ?>" class="link"><img title="Edit" src="icon/edit.png"/></a> <a href="delete.php?id=<?php echo $row["id"]; ?>" class="link"><img name="delete" id="delete" title="Delete" onclick="return confirm('Are you sure you want to delete?')" src="icon/delete.png"/></a></td>
			</tr>
			<?php
					}
				}
			?>
		</tbody>
	</table>
</body>
</html>

Update Menggunakan Prepared Statement

Saat mengklik tindakan edit di halaman daftar, ini menunjukkan formulir edit Karyawan kepada pengguna. Setelah mengirimkan data formulir yang diedit, pernyataan disiapkan dibuat untuk permintaan update. Kode PHP menetapkan nilai ke params query update dan mengeksekusinya dengan menggunakan objek pernyataan yang disiapkan. Setelah memperbarui baris database, data terakhir dibaca dan terisi di kolom formulir edit.

<?php
	require_once("db.php");
	if (isset($_POST['submit'])) {		
		$sql = $conn->prepare("UPDATE tbl_emp_details SET department=? , name=? , email=?  WHERE id=?");
		$department=$_POST['department'];
		$name = $_POST['name'];
		$email= $_POST['email'];
		$sql->bind_param("sssi",$department, $name, $email,$_GET["id"]);	
		if($sql->execute()) {
			$success_message = "Edited Successfully";
		} else {
			$error_message = "Problem in Editing Record";
		}

	}
	$sql = $conn->prepare("SELECT * FROM tbl_emp_details WHERE id=?");
	$sql->bind_param("i",$_GET["id"]);			
	$sql->execute();
	$result = $sql->get_result();
	if ($result->num_rows > 0) {		
		$row = $result->fetch_assoc();
	}
	$conn->close();
?>
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css" />
<style>
.tbl-qa{border-spacing:0px;border-radius:4px;border:#6ab5b9 1px solid;}
</style>
<title>employee edit </title>
</head>
<body>
<?php if(!empty($success_message)) { ?>
<div class="success message"><?php echo $success_message; ?></div>
<?php } if(!empty($error_message)) { ?>
<div class="error message"><?php echo $error_message; ?></div>
<?php } ?>
<form name="frmUser" method="post" action="">
<div class="button_link"><a href="index.php" >Back to List </a></div>
<table border="0" cellpadding="10" cellspacing="0" width="500" align="center" class="tbl-qa">
	<thead>
		<tr>
			<th colspan="2" class="table-header">Employee Edit</th>
		</tr>
	</thead>
	<tbody>
		<tr class="table-row">
			<td><label>Department</label></td>
			<td><input type="text" name="department" class="txtField" value="<?php echo $row["department"]?>"></td>
		</tr>
		<tr class="table-row">
			<td><label>Name</label></td>
			<td><input type="text" name="name" class="txtField" value="<?php echo $row["name"]?>"></td>
		</tr>
		<tr class="table-row">
			<td><label>Email</label></td>
			<td><input type="text" name="email" class="txtField" value="<?php echo $row["email"]?>"></td>
		</tr>
		<tr class="table-row">
			<td colspan="2"><input type="submit"  name="submit" value="Submit" class="demo-form-submit"></td>
		</tr>
	</tbody>	
</table>
</form>
</body>
</html>

Hapus dengan menggunakan Pernyataan Disiapkan

Kode menunjukkan pernyataan yang disiapkan untuk query hapus. Halaman ini akan dijalankan saat opsi hapus pada halaman daftar dipilih. ID karyawan dilewatkan dalam string permintaan URL hapus. Nilai id ini akan terikat pada parameter delete query untuk menghapus record yang ditentukan dari database.

<?php 
	require_once("db.php");
	
	$sql = $conn->prepare("DELETE  FROM tbl_emp_details WHERE id=?");  
	$sql->bind_param("i", $_GET["id"]); 
	$sql->execute();
	$sql->close(); 
	$conn->close();
	header('location:index.php');		
?>

Itulah cara membuat CRUD dengan MySQLi Prepared Statement menggunakan PHP. Untuk download dan demo silahkan klik button dibawah.

Demo

 

Get real time updates directly on you device, subscribe now.

1 Comment
  1. Oliver Russell says

    Prepared statements is also supported in PDO. Therefore, if you want to use prepared statement to execute crud in php and mysql (source: https://www.cloudways.com/blog/execute-crud-in-mysql-php/ ), then you can use both PDO and MySQLi.

Leave A Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.