Warning: preg_match() expects parameter 2 to be string


Warning: preg_match()expects parameter 2 to be string
 
Warning: preg_match()expects parameter 2 to be string, array given in….. on line 5, begitulah pesan error yang ditampilkan oleh PHP ketika function yang saya gunakan mengalami masalah/error. Function ini saya buat mengecek variabel/nilai yang dikirim menggunakan method POST, jika variabel yang dikirim bukan tipe angka, maka PHP akan menolaknya. Function ini dipanggil secara terpisah menggunakan perintah include.

Pada pesaan error yang ditampilkan oleh PHP diatas, sebenarnya function masih bekerja dengan baik, maksudnya function memvalidasi data yang dikirim oleh user dengan benar. Hanya saja selalu saja ada pesan : preg_match()expects parameter 2 to be string, array given in, yang tentu saja membuat saya jadi bingung, padahal functionnya memang sudah benar. Karena seperti yang ditunjukan oleh PHP bahwa function tersebut kesalahannya ada pada baris 5, padahal baris sudah benar dan memang functionnya seperti itu.

Akhirnya saya coba mengecek setiap data angka secara manual, mengganti function cek_angka, dengan functionnya langsung yaitu preg_match ke setiap data angka. Dan hasilnya ternyata saya menemukan pesan error pada line 518 seperti berikut
 
baris script yang membuat function error

Dimana saat function cek angka diganti dengan fungsi preg_match secara langsung, PHP baru menunjukan letak kesalahannya, yaitu pada line 518. Terlihat pada baris 518, tidak ada fungsi $_POST yang digunakan untuk menangkap data yang dikirim. Jadi function yang dibuat memang tidak salah, namun karena ada nilai data yang dicek tidak menggunakan variabel $_POST, maka membuat function menampilkan pesan warning.

Hanya saja PHP menampilkan pesan kesalahan atau errornya di line 5 pada file function.php, padhal sebenarnya kesalhannya ada pada line 518. Hal itu wajar saja, karena pada saat pengecekan data, kita menggunakan function sendiri, sehingga otomatis PHP menampilkan pesan warning/kesalahannya di file function.

Jadi kalau mengalami masalah error seperti diatas, dan Anda sudah merasa yakin tidak ada kesalahan pada file function yang Anda buat, maka yang perlu Anda cek bukan file functionnya tapi file yang menggunakan function tersebut untuk melakukan pengecekan data.

0 Response to "Warning: preg_match() expects parameter 2 to be string"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin