Apa itu bind_param()?

Permisi gan mau nanya dong

di mysqli itu ada yg namanya bind_param(), bind_param() itu apa yaa? dan kenapa setiap kali melihat dari beberapa website banyak sekali query bind_param() seperti ini

 $SQL -> bind_param("sssss",$id,$nim,$nama,$alamat,$jurusan);

dan yg mau saya tanya adalah, yg dimaksud dengan "sssss" nya itu apa yaa?

avatar rofid30
@rofid30

7 Kontribusi 2 Poin

Diperbarui 6 tahun yang lalu

4 Jawaban:

Kalo gak salah sepertinya itu digunakan untuk menghindari dari serangan sql injection gan

Namanya prepare statement Koreksi jika saya salah

avatar ivanpratama99
@ivanpratama99

88 Kontribusi 12 Poin

Dipost 6 tahun yang lalu

Itu buat tipe data nya. Sama buat ngisi value yg dikasih tanda '????' S = String D = Digit I = Integer


$int1 = 42;
$int2 = 11;
$str  = 'foo';

$stmt->bind_param('iis', $int1, $int2, $str);

avatar riyanxp
@riyanxp

70 Kontribusi 50 Poin

Dipost 6 tahun yang lalu

 $SQL -> bind_param("sssss",$id,$nim,$nama,$alamat,$jurusan);

Itu maksudnya tipe data tiap parameter. Contoh : Itu "s" semua berarti parameter $id, $nim, $nama, $alamat, $jurusan itu dinilai sebagai string. Misal parameter $id adalah integer maka akan seperti ini : "issss"

avatar cheezeadhy
@cheezeadhy

2 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

bind_param biasanya di pakai bersama "prepare" untuk mengikat variable yang di kirim ke server dalam keadaan kosong misal

 (nama, nomorHP, email) VALUES (?, ?, ?)

database meng-kompile dan menyimpan hasil dari nama, nomorHP, dan email walau tak ada isi dan belum di printah untuk di eksekusi (mungkin seperti server meyediakan template kosong untuk data yang akan masuk setelah printah execute()

sebelum di eksekusi parameternya harus di ikat dahulu

 bind_param("sis", $nama, $nomorHP, $email);

oleh karena server sudah ada template maka kita bisa panggil parameter nya berulang-ulang dan dapat di eksekusi berulang-ulang pula, performa nya cepat

 $nama = "Abdul";
$nomorHP = 123456778
$email ="abdul@website.com"
$stmt->execute();

$nama = "Tomi";
$nomorHP = 8765432
$email ="tomi@website.com"
$stmt->execute();
avatar VikSintus
@VikSintus

96 Kontribusi 36 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban