Mendeteksi dan Menangani MySQL Sintaks Error pada PHP

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. Jika ada pertanyaan silahkan kirimkan komentar dibawah ini. Kritik dan saran dari sobat sangat saya nantikan. Maklum saya masih pemula. Salam Blogger Madura ^_^

BAGIKAN KE:

53 komentar:

  1. kerend banget gan artikelnya, sangat membantu :D

    BalasHapus
  2. yang ingin saya tanyakan. dimanakah kita harus meletakan scriptnya, didalam file sendiri, ataukah didalam file yg mana.
    terimakasih.

    sangat diharapkan balasanya. febrikampret@gmail.com / www.facebook.com/febrikampret

    BalasHapus
  3. singkat padat jelas terpampang cetar membaha..
    begini kalo posting harusnya...

    BalasHapus
  4. saya sudah jalankan perintah di atas.



    tapi masih seperti ini, kenapa ya,....?

    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\mysql1.php on line 7

    Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\mysql1.php on line 8

    Newbie_bertanya. :D

    BalasHapus
  5. sepertinya password untuk akses ke MySQLnya salah ^_^

    BalasHapus
    Balasan

    1. Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u149960737/public_html/admin/input_dokter.php on line 7

      Hapus
  6. mas tau gak error seperti ini expects parameter 1 to be resource, boolean given in penyebabnya apa ya?

    BalasHapus
  7. nah itu dia gak tau kalo gak liat langsung :D ikuti aja tutorial di atas. mas/mbak toko online :D

    BalasHapus
  8. Gan kalo perintahnya muncul seperti ini gimana ya gan solusi mohom pencerahan nya : mysql_query() expects parameter 2 to be resource, null given in /home/u270226235/public_html/liputan.php on line 12 Gagal queri

    BalasHapus
  9. Gan kalo perintahnya muncul seperti ini gimana ya gan solusi mohom pencerahan nya : mysql_query() expects parameter 2 to be resource, null given in /home/u270226235/public_html/liputan.php on line 12 Gagal queri

    BalasHapus
  10. skripnya gimana yg error? biasanya karena $variabel yg ada di mysql_query($variabel) bernilai null

    BalasHapus
  11. Mantaff...insya alloh membantu sangat......
    Trims-ANDI

    BalasHapus
  12. Server MySQL tidak terhubung karena Access denied for user 'iptek100'@'202.46.1.102' (using password: YES), menu yang keluar saat saya mau membuka data lewat internet bagaimana solusiya?

    BalasHapus
  13. Fatal error: Class 'HttpResponse' not found in C:\xampp123456\htdocs\RohanAuth\ServerList5.php on line 4

    kalo yg seperti ini mas problemnya dimana????

    BalasHapus
  14. bang error ini maksudnya apa ya?
    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\tokoonline\index.php on line 22

    BalasHapus
  15. itu artinya yang diharapkan sebagai parameter adalah resource dari mysql_query, tapi malah tipe data boolean yg dimasukkan (true/false). jadi, query sql yg di masukkan ke fungsi mysql_query salah. coba dulu di phpmyadmin..

    BalasHapus
  16. kalau seperti ini kenapa ya Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\belajar\otentik.php on line 31

    BalasHapus
    Balasan
    1. sama gan. mohon adminnya bales dong

      Hapus
    2. jawabannya sudah ada diatas pertanyaan ini, sudah saya jawab sebelum ditanyakan.

      Hapus
  17. Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in C:\xampp\htdocs\rsu_lirboyo\koneksi.php on line 7

    Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\rsu_lirboyo\koneksi.php on line 8

    Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\rsu_lirboyo\koneksi.php on line 10

    kalau seperti ini bagaimana memperbaikinya

    BalasHapus
    Balasan
    1. salah konfigurasi mysqlnya gan, pastikan username dan password mysqlnya bener..

      Hapus
  18. mohon bantuanya, gimana cara mengatasi kalau database nya tidak bisa tampil di web??

    BalasHapus
    Balasan
    1. ikuti tutorial diatas lalu lihat pesan errornya apa? tinggal diperbaiki deh...

      Hapus
  19. Mantabz...
    Thanks info nya semoga berkah. Aamiin

    BalasHapus

  20. kalo ini knpa gan?
    mohon pencerehannya

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '','')' at line 1

    BalasHapus
  21. Gan numpang nanya donk, kalo error spt dibawah ini, gmana yach solusinya?

    Database Ada
    Notice: Undefined variable: conn in C:\xampp\htdocs\Malls\shopping\admin\product\index.php on line 89

    Warning: sqlsrv_query() expects parameter 1 to be resource, null given in C:\xampp\htdocs\Malls\shopping\admin\product\index.php on line 89
    ada yg error :
    DAFTAR PRODUK


    Warning: sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Malls\shopping\admin\product\index.php on line 97
    Tambah Produk

    Notice: Undefined variable: conn in C:\xampp\htdocs\Malls\shopping\admin\product\index.php on line 138

    thanks

    BalasHapus
    Balasan
    1. gan kalo kyk gini kodenya
      if(preg_match($validemail, $email))
      {
      $gagal = TRUE;
      }
      if($gagal)
      {
      lalu ada errornya gini
      Notice: Undefined variable: gagal in C:\xampp\htdocs\buatweb\savedatauser.php on line 33
      tu kenapa ya? mohon bantuannya

      Hapus
    2. itu karena variable $gagal tidak didefinisikan, gini aja caranya :

      $gagal = false;

      if(preg_match($validemail, $email))
      {
      $gagal = TRUE;
      }
      if($gagal)
      {
      //gagal
      }

      Hapus
    3. udah dicoba, gan
      gak ada yang error sih cuman pas dijalanin jadi kosong, tapi terima kasih atas bantuannya

      Hapus
  22. gan mau nanya dong kaya gini gmana

    Warning: mysql_num_rows() expects parameter 1 to be resource, string given in C:\xampp\htdocs\Sumber\Latihan\tabel.php on line 22

    kalau yang diatas kan "bolean give in.."
    yang ini "string give in.."

    makasih

    BalasHapus
    Balasan
    1. maksudnya $variabel yg dimasukkan ke mysql_num_rows($variabel) itu berupa string, seharusnya hasil dari mysql_query($query)

      Hapus
  23. kalo ini knpa bang ??

    connection success
    Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\mobile\qwer.php on line 7
    login not success

    BalasHapus
  24. skrip nya ini ... username dan id udah bner ...

    0) {
    echo "login success";
    }else{
    echo "login not success";
    }
    ?>

    BalasHapus
  25. kalau masalahnya seperti ini Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\coba\sintax_login.php on line 8

    gmana solusinya pak?

    BalasHapus
    Balasan
    1. baca artikel dan komentar diatas ya, udah dijawab.

      Hapus
    2. saya kurang paham pak, dimana diletakkan coding it?

      Hapus
  26. makasih atas solusinya. sangat bermanfaat :)

    BalasHapus
  27. Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\LoginRegistr\register.php on line 44
    gun kalo ada kek gini gimna solusinya... ??
    pdhal udah sesuai dgn tutorial yg di tonton...

    BalasHapus

  28. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\COBA07\tampildata.php on line 7

    kalo gini gimana min ?? udah ane coba saran" yang sebelumnya masih saja kek gitu min ...

    BalasHapus

  29. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\COBA07\tampildata.php on line 7

    kalo gini gimana min ?? udah ane coba saran" yang sebelumnya masih saja kek gitu min ...

    BalasHapus
  30. gan minta solusinya, kalo msalahnya begini >> Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in C:\xampp\htdocs\TA\config.php on line 11
    Koneksi ke database tidak berhasil

    padahal nama database nya sudah sesuai dan sudah saya cek berulang kali tapi ttp g ngebaca databasenya, ini kenapa ya gan,thx gan

    BalasHapus
  31. bagai mana cara mengatasi error kya gini ? #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '`no`, `foto`, `nama_kapal`, `nama_kapal_sebelumnya`, `nama_pemilik_kapal`, `alam' at line 1

    BalasHapus
  32. Bang Ane mau nanya deh, kalo kayak gini gimana maksudnya ya?

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Webprogram2\Setdata.php on line 7

    Ada yang error: No database selected

    BalasHapus
    Balasan
    1. itu kasus yang sama juga saya alami..,kira-kira gimana yak penyelesaianya?

      Hapus
  33. Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\tempalte\jur_edit.php on line 8 kalo gini gmn Gan,, di form jur_edit nya line 8 tuh $data = mysql_fetch_array($sql);,,mohon solusinya

    BalasHapus