Setelah membahas tentang cara menampilkan hasil MySQL dengan PDO, berikutnya dalam tutorial PHP MySQL kali ini kita akan membahas tentang cara menginput data MySQL menggunakan PDO.
 Cara Menginput data MySQL dengan PDO
Secara garis besar, proses menginput data MySQL dengan PDO tidak jauh berbeda dengan cara menampilkan data dengan PDO yang telah kita bahas pada tutorial sebelumnya.
PHP menyediakan banyak cara untuk menginputkan data kedalam MySQL menggunakan PDO extension. Pada tutorial ini kita akan membahas 2 diantaranya, yakni menggunakan method PDO->query() dan PDO->exec().
Menginput data MySQL dengan PDO->query()
Untuk menginput data MySQL dengan method PDO->query(), kita tinggal menambahkan query INSERT atau UPDATE kedalam method ini.
Sebagai contoh, saya ingin menambahkan 1 data baru ke dalam tabel mahasiswa_ilkom. Berikut adalah contoh kode programnya:
<?php try {   // buat koneksi dengan database   $dbh = new PDO('mysql:host=localhost;dbname=universitas', "root", "");    // set error mode   $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    $query= 'INSERT INTO mahasiswa_ilkom VALUES   ("099023022", "Ayla Ramadhani", 20, "Aceh", 3.1)';    // jalankan query   $result = $dbh->query($query);   // tampilkan hasil proses query   echo $result->rowCount()." data berhasil ditambahkan";    // hapus koneksi   $dbh = null; } catch (PDOException $e) {   // tampilkan pesan kesalahan jika koneksi gagal   print "koneksi/query bermasalah: " . $e->getMessage() . "<br/>";   die(); } ?>
Sebagian besar function dan method diatas sudah kita pelajari dalam beberapa tutorial sebelum ini.
Setelah proses koneksi dan men-set error display, saya membuat sebuah string untuk menampung query INSERT, yakni di dalam variabel $query. Kemudian query dijalankan dengan method $dbh->query($query).
Setelah query di jalankan, kita bisa mengetahui berapa baris tabel MySQL yang ditambahkan menggunakan method $result->rowCount().
Apabila anda menjalankan perintah diatas, hasil yang ditampilkan adalah:
1 data berhasil ditambahkan
Sebagai latihan, silahkan anda tambahkan kode program diatas untuk menampilkan data tabel mahasiswa_ilkom setelah proses input data.
Menginput data MySQL dengan PDO->exec()
Selain menggunakan method PDO->query(), kita juga bisa menggunakan method PDO->exec() untuk menjalankan query MySQL. Cara penulisan method PDO->exec() juga sangat mirip dengan method PDO->query().
Mari kita lihat bagaimana cara menambahkan 1 data ke dalam tabel mahasiswa_ilkom menggunakan method PDO->exec():
<?php try {   // buat koneksi dengan database   $dbh = new PDO('mysql:host=localhost;dbname=universitas', "root", "");    // set error mode   $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    $query= 'INSERT INTO mahasiswa_ilkom VALUES   ("109013027", "Siska Rosiana", 19, "Bengkulu", 2.9)';    // jalankan query   $result = $dbh->exec($query);    // tampilkan hasil proses query   echo $result." data berhasil ditambahkan";    // hapus koneksi   $dbh = null; } catch (PDOException $e) {   // tampilkan pesan kesalahan jika koneksi gagal   print "koneksi/query bermasalah: " . $e->getMessage() . "<br/>";   die(); } ?>
Dari kode diatas, method $dbh->exec($query) akan menjalankan query yang disimpan dari variabel $query. Untuk menampilkan jumlah data yang ditambahkan, kita bisa langsung menggunakan variabel $result hasil method $dbh->exec($query).
Jika anda menjalankan kode diatas, maka hasil yang didapat adalah sebagai berikut:
1 data berhasil ditambahkan
Setelah mempelajari cara menampilkan dan menginput data menggunakan PDO PHP, dalam tutorial berikutnya kita akan membahas fitur PDO yang lebih 'advanced', yakni Cara Menggunakan Prepared Statement dengan PDO PHP.
ada tutorial yg khusus membahas try catch gk mas? bingung pengimplementasiannya mirip2 sama if
Belum ada mas, hehe..
Iya, secara sederhana try catch memang mirip dengan if else. Tapi try catch lebih powerfull dan digunakan untuk pemrograman Object.
mungkin nanti coba saya buatkan tutorialnya… :)
Mas, bedanya :
$result = $pdo->query($query);
dengan
$result = $pdo->exec($query);
penggunaannya lebih tepat kapan ya?
suwun
min, ada cara penginputan data melalui form ga min ?
Masih sedikit gan, coba cek di bagian Tutorial Form PHP Duniailkom.
master kalo try dan catch itu kan seperti if
kalo melakukan kondisi bertingkat kayak elseif itu gimana ya??
gan, kalo yang mau diinputkan itu variabel yang berasal dari $_POST bisa gak ? datanya berasal dari form
Yup, sangat bisa. Itu tinggal mengganti variabelnya saja. Tp untuk tutorial step-by-step bisa sangat panjang karena harus dibahas mulai dari cara pemrosesan form.