Salah satu perintah yang paling sering dipakai saat membuat program PHP MySQL adalah perintah mysql_query(). Perintah ini merupakan perintah inti untuk menginput data, update data, delete data atau menampilkan data. Sayangnya, banyak error yang terjadi justru menambah bingung proggramer karena erornya bersifat abstrak.
Sebagai contoh, kita akan melakukan query ditabel kampus.
CREATE TABLE IF NOT EXISTS `kamus` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(30) NOT NULL, `deskripsi` text NOT NULL, PRIMARY KEY (`id`) )potongan kodenya adalah sebagaiberikut :
21 |$result=mysql_query("select * from kampu order by id); 22 |while($rows=mysql_fetch_object($result)){maka akan muncul error dibawah ini
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\php2013\bab4\kampus\kampus_view.php on line 22Eror diatas disebabkan karena ada kesalahan query. Sayangnya jika anda melihat barise error, biasanya baris ini justru baris yang berisi perintah while
tidak ada yang eror dibaris itu. Error terjadi pada MySQL query.
Agar anda bisa menentukan error dengan tepat selalu gunakan or die mysql_error() setelah mysql_query
sekarang mari kita lihat penyebab erornya dengan mysql_error()
Table 'belajarphpdb.kampu' doesn't existTernyata error disebabkan karena kita salah mengetik ‘KAMPU’ Yang seharusnya kampus.
sekarang contoh yang lain misalkan querynya seperti ini
Error yang muncul adalah
Unknown column 'nama_kampus' in 'field list'Hal ini disebabkan tidak ada kolom ‘nama_kampus’ adanya kolom ‘nama’.
Perhatikan lagi dua contoh diatas, dengan memanfaatkan mysql_error(), kita bisa menghemat waktu dalam pencarian error, apalagi kalau querynya panjang.ingat, selalu biasakan melakukan query dengan dua langkah yaitu
- letakan query di variable
- tambahkan mysql_error()
Saya berani menjamin, anda menjadi lebih produktif dengan dua langkah ini. Semoga bermanfaat!
Saat kita telah selesai menulis kode php yang berhubungan dengan database mysql seperti memasukkan data, menampilkan data dan lain sebagainya kadang masih saja ada sintaks yang error. Tentu saja ini akan menyulitkan kita karena pesan error yang ditampilkan sulit dimengerti apalagi untuk pemula seperti saya. Pada artikel ini kita akan belajar bagaimana mendeteksi dan menangani error tersebut sehingga script php yang kita buat dapat berjalan dengan baik. Berdasarkan pengalaman yang telah saya alami, berikut ini adalah tips dan trik menangani sintaks error pada php yang berhubungan dengan database MySQL.
1. Error karena tidak bisa terhubung ke MySQL
pesan error yang ditampilkan jika script kita tidak dapat terhubung dengan database adalah sebagai berikut:
Warning: mysql_query() [function.mysql-query]: Access denied for user ‘ODBC’@’localhost’ (using password: NO) in D:\xampp\htdocs\contoh\satu.php on line 6
atau
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in D:\xampp\htdocs\contoh\satu.php on line 6
Biasanya pesan error seperti ini muncul karena kita lupa menuliskan script konfigurasi koneksi ke database mysql atau kita memasukkan konfigurasi yang salah. Nah, solusi untuk mengatasinya adalah dengan memasukkan script konfigurasi untuk koneksi mysql yang benar, contohnya sebagai berikut:
<?php
$host = “localhost”; //alamat host mysql
$user = “root”; //username mysql
$pass = “”; //password mysql ()
$db = “nama_databasenya”; //nama database yang digunakan
$connect = mysql_connect($host,$user,$pass); //menghubungkan ke mysql
$sukses = mysql_select_db($db,$connect); //memilih database yang digunakan
?>
2. Error karena Kesalahan Query
Pesan error yang tampil jika kita salah menuliskan query diantaranya adalah sebagai berikut:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\xampp\htdocs\contoh\satu.php on line 8
atau
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\xampp\htdocs\contoh\satu.php on line 8
Saat awal-awal belajar php, tipe error seperti ini agak sulit diatasi karena pesan error yang tampil sulit dimengerti. tapi sebenarnya kita dapat dengan mudah mengatasinya dengan sedikit trik. caranya adalah dengan menuliskan echo “ada yang error: “.mysql_error(); pada bagian setelah script yang dianggap error. perhatikan contoh berikut ini.
Nah, setelah kita menambahkan script echo “ada yang error: “.mysql_error(); maka pesan error menjadi lebih jelas sehingga kita bisa langsung menangani error tersebut. contonya pesan error akan tampil sebagai berikut:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
D:\xampp\htdocs\contoh\satu.php on line 8
ada yang error: Table ‘truweb.tabelkaryawan’ doesn’t exist
Demikian yang dapat saya sampaikan, semoga bermanfaat.
Pos ini dipublikasikan di Membaca. Tandai permalink.