Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menggantikan Fungsi `mysql_result()` PHP dengan MySQLi?

Bagaimana untuk Menggantikan Fungsi `mysql_result()` PHP dengan MySQLi?

Linda Hamilton
Lepaskan: 2024-11-25 13:29:11
asal
989 orang telah melayarinya

How to Replace PHP's `mysql_result()` Function with MySQLi?

Cara Meniru Fungsi Fungsi mysql_result() PHP dalam MySQLi

Fungsi mysql_result(), yang biasa digunakan dalam kod PHP warisan, membolehkan pembangun mengakses data tertentu dengan cepat daripada hasil pertanyaan MySQL. Walau bagaimanapun, fungsi ini tidak disokong secara asli dalam MySQLi, sambungan yang dipertingkatkan dan disyorkan untuk berinteraksi dengan pangkalan data MySQL.

Pendekatan Alternatif dengan Mengambil Baris

Satu pendekatan biasa untuk mendapatkan semula data daripada keputusan pertanyaan MySQLi adalah untuk mengambil baris yang sepadan menggunakan kaedah fetch_assoc(). Berikut ialah contoh:

if ($r && $r->num_rows) {
    $row = $r->fetch_assoc();
    $blarg = $row['blah'];
}
Salin selepas log masuk

Pendekatan ini melibatkan berbilang baris dan mungkin kurang cekap daripada menggunakan fungsi khusus seperti mysql_result().

Fungsi Setara Tersuai

Untuk meniru fungsi mysql_result() dalam MySQLi, anda boleh mencipta fungsi tersuai sebagai ditunjukkan di bawah:

function mysqli_result($res,$row=0,$col=0){ 
    $numrows = mysqli_num_rows($res); 
    if ($numrows &amp;&amp; $row <= ($numrows-1) &amp;&amp; $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;
}
Salin selepas log masuk

Fungsi ini menerima indeks baris dan lajur sebagai parameter dan mengembalikan data yang sepadan jika wujud. Ia juga mengendalikan kemungkinan ralat yang berkaitan dengan permintaan di luar sempadan.

Penggunaan:

Fungsi mysqli_result() boleh digunakan dengan cara yang serupa dengan mysql_result() :

if ($r && $r->num_rows)  
    $blarg = mysqli_result($r, 0, 'blah');
Salin selepas log masuk

Faedah dan Had

Fungsi mysqli_result() tersuai membenarkan kod yang lebih ringkas dan mengurangkan bilangan baris yang diperlukan untuk mendapatkan data daripada hasil pertanyaan MySQLi. Walau bagaimanapun, perlu diingatkan bahawa fungsi ini bergantung pada pemanggilan fungsi dinamik PHP dan mungkin dikenakan penalti prestasi yang kecil berbanding dengan pelaksanaan mysql_result() asal.

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Fungsi `mysql_result()` PHP dengan MySQLi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan