Adakah Terdapat Setara dengan Fungsi mysql_result() MySQLi?
Dalam proses pemindahan kod PHP dari MySQL ke MySQLi, pembangun sering menghadapi ketiadaan fungsi mysql_result(). Walaupun diakui bahawa mysql_result() menjadi kurang cekap apabila mengendalikan berbilang baris, kemudahannya untuk senario yang melibatkan satu hasil dan medan tidak dapat dinafikan.
Asalnya dinyatakan dalam coretan kod berikut:
if ($r && mysql_num_rows($r)) $blarg = mysql_result($r, 0, 'blah');
Persamaan MySQLi yang dikehendaki akan mengambil borang:
if ($r && $r->num_rows) $blarg = $r->result(0, 'blah');
Walau bagaimanapun, fungsi sedemikian tidak wujud dalam repertoir lalai MySQLi.
Mengatasi Kekosongan
Untuk merapatkan jurang ini, fungsi tersuai telah muncul yang mereplikasi kefungsian mysql_result():
function mysqli_result($res, $row=0, $col=0) { $numrows = mysqli_num_rows($res); if ($numrows && $row <= ($numrows-1) && $row >=0) { mysqli_data_seek($res, $row); $resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res); if (isset($resrow[$col])) { return $resrow[$col]; } } return false; }
Fungsi ini mengekalkan kemudahan inheren mysql_result() dengan menggunakan sintaks yang sama. Ia mengembalikan palsu jika baris atau medan yang ditentukan berada di luar set hasil, memastikan pengambilan data yang boleh dipercayai. Selain itu, ia memuatkan kedua-dua offset medan berangka dan nama medan untuk fleksibiliti yang dipertingkatkan.
Atas ialah kandungan terperinci Adakah Terdapat MySQLi Setara dengan Fungsi mysql_result()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!