Basic CRUD dengan PHP MYSQLi dengan OOP
CRUD with PHP and Mysqli dengan Konsep OOP ...? ya itu lah yang saya pelajari dulu, Bagaimana Konsep Dasar CRUD dengan PHP dan MYSQLi menggunakan konsep OOP, Bagi yang belum belajar atau tau dasar dari konsep OOP MYSQLi kita akan belajar bersama disini , sebelum kita melanjutkannya, kira-kira mungkin masih ada yang bertanya di pikiran friends sekalian, why i have to oop?..heee...(sok english) ,, ya
Mengapa harus OOP ?
sedikit penjelasan dari website sebelah mungkin dapat menjawab pertanyaan ini, berikut ulasannya :
- Dengan OOP, kode-kode yang kita buat menjadi lebih rapih dan terstruktur.
- Dengan OOP, proses reuse kode-kode yang kita buat untuk project yang hampir sama, mudah, karena kode yang kita buat rapih dan terstruktur. Sehingga untuk mengubah atau reuse kode gak pusing-pusing lagi.
- Konsepnya per modul. Pernah buat fungsi ato prosedur di C atau di PHP ? lalu kita tinggal panggil saja kan nama fungsinya. Kalau error pasti mudah diketahui karena terbaca dari fungsi yang kita panggil. Itulah maksudnya konsep per modul. Sehingga dengan OOP, kita dimudahkan untuk membuat dan membaca kode kita (efisiensi kode).
- Konsep OOP juga memudahkan kita untuk menganalisa program yang kita akan buat. Ini akan sangat terasa kalau kita membuat program besar dan riwet.
dan
Mengapa harus MYSQli ?
yes, Why i have to go mysqli...? campur-campur speaknya gak apa2 ya.. sekalian belajar ne... Untuk Menjawab pertanyaan ini , berikut ulasan yang saya kutip dari website sebelah :
PHP terbaru sudah mulai melepas fungsi mysql dan berharap kita mengganti ke fungsi / objek yang lebih bagus. Namun perlu diketahui bahwa mysql dan mysqli secara cepat adalah sama, namun kemampuan mysqli lebih banyak. Mysql (tanpa i) kita bisa asumsikan seorang prajurit normal dengan segala persenjataan. Tetapi mysqli (dengan i) adalah prajurit sama tetapi memiliki alat yang lebih modern.
dan sedikit saya tambahkah, bahwa mysqli sudah mendukung konsep OOP , so jika kita menggunakan konsep OOP di php tapi masih menggunakan mysql kan gak sinkron ... heee.. kira-kira seperti itu lah . selebihnya serching sendiri di google ya ..
OY Baca Juga Ya :
- Register Form PHP dan MYSQLi
- Membuat Koneksi di Mysql dan Mysqli
- Validasi Email dengan PHP dan Mysqli
OK.. Langsung saja kita .
Cara Membuat Koneksi di MYSQLi dengan OOP :
buat file dengan nama db_connect.php , ya ini untuk koneksi ke database
<?php
//set connection variables
$host = "localhost";
$username = "root";
$password = "";
$db_name = "suckittrees_demo"; //database name
//connect to mysql server
$mysqli = new mysqli($host, $username, $password, $db_name);
//check if any connection error was encountered
if(mysqli_connect_errno()) {
echo "Error: Could not connect to database.";
exit;
}
?>
Kemudian buat sebuah database dengan nama suckittrees_demo , dan buat table user, berikut scriptnya pastekan di sql log
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(32) NOT NULL,
`lastname` varchar(32) NOT NULL,
`username` varchar(32) NOT NULL,
`password` varchar(32) NOT NULL,
`modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=52 ;
INSERT INTO `users` (`id`, `firstname`, `lastname`, `username`, `password`, `modified`) VALUES
(28, 'John', 'Dalisay', 'john', 'john123', '2011-09-23 14:36:19'),
(39, 'aaa', 'aaa', 'aaa', 'aaa', '2011-09-23 15:44:04'),
(40, 'bbb', 'bbb', 'bbb', 'bbb', '2011-09-23 15:44:13'),
(41, 'ccc', 'ccc', 'ccc', 'ccc', '2011-09-23 15:44:32'),
(46, 'XXXDDD', '', '', '', '2011-09-23 17:13:15'),
(47, 'www', 'www', 'www', 'www', '2011-09-23 17:21:38'),
(48, 'HEHEHEHEHE', '', '', '', '2011-09-23 18:50:10'),
(49, 'www', 'www', 'www', 'www', '2011-09-23 19:28:24'),
(50, 'EEEE', 'EEEE', 'EEEE', 'EEEE', '2011-09-24 05:01:36'),
(51, 'asdf', 'asdf', 'asdf', 'asdf', '2011-10-04 18:44:19');
PHP/MySQLi: Input Record
Cara Membuat INPUT Data di MYSQLi dengan OOP :
Setelah itu kita akan membuat INPUT DATA DI DATABASE MYSQLi dengan OOP , buat file tambah.php and your paste code dibawah ini :
<html>
<head>
<title>MySQLi Create Record</title>
</head>
<body>
<?php
//if there's any user action
$action = isset($_POST['action']) ? $_POST['action'] : "";
if($action=='create'){ //the the user submitted the form
//include database connection
include 'db_connect.php';
//our insert query query
//$mysqli->real_escape_string() function helps us prevent attacks such as SQL injection
$query = "insert into users
set
firstname = '".$mysqli->real_escape_string($_POST['firstname'])."',
lastname = '".$mysqli->real_escape_string($_POST['lastname'])."',
username = '".$mysqli->real_escape_string($_POST['username'])."',
password = '".$mysqli->real_escape_string($_POST['password'])."'";
//execute the query
if( $mysqli->query($query) ) {
//if saving success
echo "User was created.<a href='tampildata.php'>Display </a>";
}else{
//if unable to create new record
echo "Database Error: Unable to create record.";
}
//close database connection
$mysqli->close();
}
?>
<!--we have our html form here where user information will be entered-->
<form action='#' method='post' border='0'>
<table>
<tr>
<td>Firstname</td>
<td><input type='text' name='firstname' /></td>
</tr>
<tr>
<td>Lastname</td>
<td><input type='text' name='lastname' /></td>
</tr>
<tr>
<td>Username</td>
<td><input type='text' name='username' /></td>
</tr>
<tr>
<td>Password</td>
<td><input type='password' name='password' /></td>
<tr>
<td></td>
<td>
<input type='hidden' name='action' value='create' />
<input type='submit' value='Save' />
</td>
</tr>
</table>
</form>
</body>
</html>
PHP/MySQLi: Display Record
Cara Menampilkan Data MYsqli dengan Konsep OOP, Buat file dengan nama tampildata.php dan paste kan code dibawah ini :
<html>
<head>
<title>MySQLi Read Records</title>
</head>
<body>
<?php
//include database connection
include 'db_connect.php';
//query all records from the database
$query = "select * from users";
//execute the query
$result = $mysqli->query( $query );
//get number of rows returned
$num_results = $result->num_rows;
//this will link us to our add.php to create new record
echo "<div><a href='tambah.php'>Create New Record</a></div>";
if( $num_results > 0){ //it means there's already a database record
echo "<table border='1'>";//start table
//creating our table heading
echo "<tr>";
echo "<th>Firstname</th>";
echo "<th>Lastname</th>";
echo "<th>Username</th>";
echo "<th>Action</th>";
echo "</tr>";
//loop to show each records
while( $row = $result->fetch_assoc() ){
//extract row
//this will make $row['firstname'] to
//just $firstname only
extract($row);
//creating new table row per record
echo "<tr>";
echo "<td>{$firstname}</td>";
echo "<td>{$lastname}</td>";
echo "<td>{$username}</td>";
echo "<td>";
//just preparing the edit link to edit the record
echo "<a href='edit.php?id={$id}'>Edit</a>";
echo " / ";
//just preparing the delete link to delete the record
echo "<a href='#' onclick='delete_user( {$id} );'>Delete</a>";
echo "</td>";
echo "</tr>";
}
echo "</table>";//end table
}else{
//if database table is empty
echo "No records found.";
}
//disconnect from database
$result->free();
$mysqli->close();
?>
</body>
</html>
PHP/MySQLi: Update Record
Cara Meng-Update data di Mysqli dengan konsep OOP , buat file dengan nama edit.php Berikut ini script yang digunakan :
<?php
//include database connection
include 'db_connect.php';
//check any user action
$action = isset( $_POST['action'] ) ? $_POST['action'] : "";
if($action == "update"){ //if the user hit the submit button
//write our update query
//$mysqli->real_escape_string() function helps us prevent attacks such as SQL injection
$query = "update users
set
firstname = '".$mysqli->real_escape_string($_POST['firstname'])."',
lastname = '".$mysqli->real_escape_string($_POST['lastname'])."',
username = '".$mysqli->real_escape_string($_POST['username'])."',
password = '".$mysqli->real_escape_string($_POST['password'])."'
where id='".$mysqli->real_escape_string($_REQUEST['id'])."'";
//execute the query
if( $mysqli->query($query) ) {
//if updating the record was successful
echo "User was updated.";
}else{
//if unable to update new record
echo "Database Error: Unable to update record.";
}
}
//select the specific database record to update
$query = "select id, firstname, lastname, username, password
from users
where id='".$mysqli->real_escape_string($_REQUEST['id'])."'
limit 0,1";
//execute the query
$result = $mysqli->query( $query );
//get the result
$row = $result->fetch_assoc();
//assign the result to certain variable so our html form will be filled up with values
$id = $row['id'];
$firstname = $row['firstname'];
$lastname = $row['lastname'];
$username = $row['username'];
$password = $row['password'];
?>
<!--we have our html form here where new user information will be entered-->
<form action='#' method='post' border='0'>
<table>
<tr>
<td>Firstname</td>
<td><input type='text' name='firstname' value='<?php echo $firstname; ?>' /></td>
</tr>
<tr>
<td>Lastname</td>
<td><input type='text' name='lastname' value='<?php echo $lastname; ?>' /></td>
</tr>
<tr>
<td>Username</td>
<td><input type='text' name='username' value='<?php echo $username; ?>' /></td>
</tr>
<tr>
<td>Password</td>
<td><input type='password' name='password' value='<?php echo $password; ?>' /></td>
<tr>
<td></td>
<td>
<!-- so that we could identify what record is to be updated -->
<input type='hidden' name='id' value='<?php echo $id ?>' />
<!-- we will set the action to update -->
<input type='hidden' name='action' value='update' />
<input type='submit' value='Edit' />
<a href='tampildata.php'>Back to display page</a>
</td>
</tr>
</table>
</form>
PHP/MySQLi: Delete Record
Buat file dengan nama delete.php dan pastekan code dibawah ini :
<?php
//include database connection
include 'db_connect.php';
$action = isset($_GET['action']) ? $_GET['action'] : "";
if($action=='delete'){ //if the user clicked ok, run our delete query
//$mysqli->real_escape_string() function helps us prevent attacks such as SQL injection
$query = "DELETE FROM users WHERE id = ".$mysqli->real_escape_string($_GET['id'])."";
//execute query
if( $mysqli->query($query) ){
//if successful deletion
echo "<script>alert('User was deleted.');window.location='tampildata.php'</script>";
}else{
//if there's a database problem
echo "Database Error: Unable to delete record.";
}
}
?>
OK.. Demikianlah Artikel saya tentang CRUD dengan Konsep OOP pada PHP MYSQLi, Silahkan Download Source Code Dibawah ini :
Andika Pada : 2016-01-18 01:03:03
Terima Kasih Artikelnya Gan, Sangat Membantu