Assalamualaikum wr.wb.Oke jumpa kembali dengan saya, masih seputar CRUD dengan PDO (PHP Data Objek),pada kali ini saya akan menulis tutorial memasukkan Data ke database mysql dengan PDO, apa itu PDO? Untuk penjelasan lebih lengkap mengenai PDO bisa lihat tutorial saya disini. Bagi yg sudah paham  yuk mari...

Insert Data dengan PDO (PHP Data Objek)

Assalamualaikum wr.wb.

Oke jumpa kembali dengan saya, masih seputar CRUD dengan PDO (PHP Data Objek),
pada kali ini saya akan menulis tutorial memasukkan Data ke database mysql dengan PDO, apa itu PDO? Untuk penjelasan lebih lengkap mengenai PDO bisa lihat tutorial saya disini. Bagi yg sudah paham  yuk mari kita lanjut ke tutorial.

Pertama download Databasenya disini.
setelah Databasenya siap, mari kita buat koneksi PDO terlebih dahulu. 

<?php
error_reporting(0);
try{
$koneksi=new PDO("mysql:host=localhost;dbname=coba","root","12345");
}catch(PDOException $e){
echo "Koneksi Gagal ".$e->getMessage();
}

Dicoba dulu gan, berhasil atau tidak. Kalau tidak ada pesan “Koneksi Gagal” insyaAllah 99,99% koneksi sudah berhasil, sekarang lanjut untuk memasukkan datanya.

sekedar pengetahuan, didalam PDO ada dua cara untuk memanipulasi data pada database

  1. menggunakan named placeholder “:” (tanda titik dua)
  2. menggunakan question mark placeholder “?” (tanda tanya)

contoh menggunakan named placeholder “:” (tanda titik dua)

// buat 2 variabel sebagai data yg akan dimasukkan kedalam Database.
$nama="bukubaru";
$harga=5000;
$insert=$koneksi->prepare("insert into buku (nama_buku,harga_buku) values (:nama_buku,:harga_buku)");
//named placeholder :nama_buku mengambil nilai dari $nama
$insert->BindParam(':nama_buku',$nama);
//named placeholder :harga_buku mengambil nilai dari $harga
$insert->BindParam(':harga_buku',$harga);
$insert->execute();
// jika TIDAK ada baris yg terpengaruh (data gagal masuk ke database) maka cetak “gagal”
if($insert->rowCount()==0){
	echo "Gagal";
}
//Jika ada baris yang terpengaruh (data berhasil masuk) cetak “berhasil”
else{
	echo "Berhasil";
}

 

Kemudian kita jalankan. Dan lihat hasilnya

 

 cek didatabase apakah benar-benar berhasil.

 

yups . . ternyata berhasil.

Sekarang kita coba menggunakan cara yang kedua, yaitu menggunakan question mark placeholder “?” (tanda tanya) .
langsung saja berikut codenya.

//ubah dulu nilai variabel nama dan harga agar tidak sama dengan contoh yang tadi.
$nama="bukukedua";
$harga=1000;
$insert=$koneksi->prepare("insert into buku (nama_buku,harga_buku) values (?,?)");
// question mark placeholder pertama (tanda “?” pertama) mengambil dari $nama
$insert->BindParam(1,$nama);
// question mark placeholder kedua (tanda “?” kedua) mengambil dari $harga
$insert->BindParam(2,$harga);
$insert->execute();
if($insert->rowCount()==0){
	echo "Gagal";
}else{
	echo "Berhasil";
}

 

Kemudian dicoba, dan lihat hasilnya.

 

yups berhasil.

Mungkin diantara pembaca ada yang masih bingung dengan statement dibawah ini.

if($insert->rowCount()==0){

              echo "Gagal";

}else{

               echo "Berhasil";

}


kenapa kalau sama dengan 0 hasilnya gagal ?
statement rowCount() mengembalikan nilai dari baris yg terpengaruh, jika dalam hal ini memasukkan data ke dalam suatu tabel, maka baris dari tabel tersebut bertambah 1, atau secara sederhananya ketika kita memasukkan data kedalam tabel di database maka baris pada tabel tersebut akan bertambah 1,

dan apabila tidak bertambah atau 0, maka querynya gagal dilakukan.

berikut FULL CODE-nya
Menggunakan named placeholder “:” (tanda titik dua)

<?php
error_reporting(0);
try{
$koneksi=new PDO("mysql:host=localhost;dbname=coba","root","12345");
}catch(PDOException $e){
	echo "Koneksi Gagal ".$e->getMessage();
}
// ini data yg akan dimasukkan
$nama="bukubarus";
$harga=5000;
$insert=$koneksi->prepare("insert into buku (nama_buku,harga_buku) values (:nama_buku,:harga_buku)");
$insert->BindParam(':nama_buku',$nama);
$insert->BindParam(':harga_buku',$harga);
$insert->execute();
if($insert->rowCount()==0){
	echo "Gagal";
}else{
	echo "Berhasil";
}

menggunakan question mark “?” placeholder

<?php
error_reporting(0);
try{
$koneksi=new PDO("mysql:host=localhost;dbname=coba","root","12345");
}catch(PDOException $e){
	echo "Koneksi Gagal ".$e->getMessage();
}
// ini data yg akan dimasukkan
$nama="buskubarus";
$harga=5000;
$insert=$koneksi->prepare("insert into buku (nama_buku,harga_buku) values (?,?)");
$insert->BindParam(1,$nama);
$insert->BindParam(2,$harga);
$insert->execute();
if($insert->rowCount()==0){
	echo "Gagal";
}else{
	echo "Berhasil";
}


disini kita bebas mau pilih cara yang mana, pilih saja sesuai selera
sekian semoga bermanfaat. 
Wassalamualaikum wr. Wb.


About Author

d-newbie

Adalah seorang ninja dari Coding Gakure, Menguasai jurus HTML no jutsu, CSS no jutsu, Javascript no jutsu, PHP no jutsu, dan MySQL no jutsu, jurus andalan adalah KageLooping no jutsu, yg bisa memperbanyak output sekali coding , ninja yang berasal dari TIM W3, dan diasuh oleh petapa genit yang suka menjilat-jilat situs yaitu google.com. :D #xixixi


Comment & Discussions

    Please LOGIN before if you want to give the comment.