Perbedaan mysqli_stmt_get_result dan mysqli_stmt_bind_result
Pengertian
mysqli_stmt_get_result (); merupakan fungsi yang digunakan untuk mendapatkan hasil dari prepare statement
mysqli_stmt_bind_result(); digunakan untuk mengikat variabel ke prepare statement untuk menyimpan hasil
Refrensi :
https://www.php.net/manual/en/mysqli-stmt.get-result.php
https://www.php.net/manual/en/mysqli-stmt.bind-result.php
Perbedaan
mysqli_stmt_get_result (); merupakan fungsi yang digunakan untuk mendapatkan hasil dari prepare statement
mysqli_stmt_bind_result(); digunakan untuk mengikat variabel ke prepare statement untuk menyimpan hasil
Refrensi :
https://www.php.net/manual/en/mysqli-stmt.get-result.php
https://www.php.net/manual/en/mysqli-stmt.bind-result.php
Perbedaan
- Jika Anda menggunakan mysqli_stmt_get_result setelah data di fetch maka Anda perlu mendefinisikan nama – nama kolom yang terdapat di database jika data ingin ditampilkan
- Sedangkan jika menggunakan mysqli_stmt_bind_result nama – nama kolom akan didefinisikan sebagai variabel sesuai dengan nama – nama kolom yang terdapat dalam database, ketika Anda ingin menampilkan data maka Anda hanya perlu menuliskan nama – nama variabel yang sudah didefinikasn didalam bind result
Rekomendasi
Dalam beberpa pengalaman, ada beberapa hosting yang bermasalah dengan penggunaan mysqli_stmt_get_result dimana mysqlnd driver di hosting tidak terinstal atau tidak ditemukan, intinya ada beberapa yang tidak support. Sehingga mungkin penggunaan mysqli_stmt_bind_result lebih direkomendasikan dibandingkan mysqli_stmt_get_result
Dalam beberpa pengalaman, ada beberapa hosting yang bermasalah dengan penggunaan mysqli_stmt_get_result dimana mysqlnd driver di hosting tidak terinstal atau tidak ditemukan, intinya ada beberapa yang tidak support. Sehingga mungkin penggunaan mysqli_stmt_bind_result lebih direkomendasikan dibandingkan mysqli_stmt_get_result
Contoh
Kode dibawah ini mungkin akan bisa sedikit menggambarkan perbedaan antara mysqli_stmt_get_result dan mysqli_stmt_bind_result
- mysqli_stmt_get_result()
<?php /* ROOT93.co.id | COMPUTER | NETWORKING | WEB PROGRAMMING */ function detail_data($var_id){ global $koneksi; global $result; $sql="SELECT id, nim, nama_mahasiswa, foto_mahasiswa, tanggal_daftar FROM datamhs WHERE id=?"; if($stmt=mysqli_prepare($koneksi, $sql)){ mysqli_stmt_bind_param($stmt,"i",$param_id); $param_id = $var_id; if(mysqli_stmt_execute($stmt)){ //get result bisa diganti jadi store result $result=mysqli_stmt_get_result($stmt); if(mysqli_num_rows($result)==1){ return true; //jika ada data nilai true }else{ return false; //jika data tidak ditemukan nilai false } }else{ echo "Terjadi kesalahan"; } } mysqli_stmt_close($stmt); } include ('koneksi.php'); include ('function.php'); ?> <html> <head> <title>DETAIL DATA ROOT93</title> </head> <body> <?php if(!empty($_GET['id'])){ if(detail_data(trim($_GET['id']))){ $row=mysqli_fetch_array($result); }else{ die ("Data tidak ditemukan"); } }else{ die("error"); } mysqli_close($koneksi); ?> <table border="1" width="500"> <tr> <th>ID</th> <th>NAMA MAHASISWA</th> <th>NIM</th> <th>TANGGAL DAFTAR</th> </tr> <tr> <td><?php echo $row['id'];?></td> <td><?php echo $row['nama_mahasiswa'];?></td> <td><?php echo $row['nim'];?></td> <td><?php echo $row['tanggal_daftar'];?></td> </tr> <a href="javascript:history.back()">Kembali</a> </form> </body> </html>
- mysqli_stmt_bind_result()
<?php /* ROOT93.co.id | COMPUTER | NETWORKING | WEB PROGRAMMING */ function detail_data_2($var_id){ global $koneksi; global $id, $nim, $nama_mahasiswa, $foto_mahasiswa, $tanggal_daftar; $sql="SELECT id, nim, nama_mahasiswa, foto_mahasiswa, tanggal_daftar FROM datamhs WHERE id=?"; if($stmt=mysqli_prepare($koneksi, $sql)){ mysqli_stmt_bind_param($stmt,"i",$param_id); $param_id = $var_id; if(mysqli_stmt_execute($stmt)){ mysqli_stmt_store_result($stmt); mysqli_stmt_bind_result($stmt, $id, $nim, $nama_mahasiswa, $foto_mahasiswa, $tanggal_daftar); mysqli_stmt_fetch($stmt); if(mysqli_stmt_num_rows($stmt)==1){ return true; //jika ada data nilai true }else{ return false; //jika data tidak ditemukan nilai false } }else{ echo "Terjadi kesalahan"; } } mysqli_stmt_close($stmt); } include ('koneksi.php'); include ('function.php'); ?> <html> <head> <title>DETAIL DATA ROOT93</title> </head> <body> <?php if(!empty($_GET['id'])){ if(!detail_data_2(trim($_GET['id']))){ die ("Data tidak ditemukan"); } }else{ die("error"); } mysqli_close($koneksi); ?> <table border="1" width="500"> <tr> <th>ID</th> <th>NAMA MAHASISWA</th> <th>NIM</th> <th>TANGGAL DAFTAR</th> </tr> <tr> <td><?php echo $id;?></td> <td><?php echo $nama_mahasiswa;?></td> <td><?php echo $nim; ?></td> <td><?php echo $tanggal_daftar;?></td> </tr> <a href="javascript:history.back()">Kembali</a> </form> </body> </html>
0 Response to "Perbedaan mysqli_stmt_get_result dan mysqli_stmt_bind_result"
Post a Comment
Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin