Heim > Backend-Entwicklung > PHP-Tutorial > Gibt es ein MySQLi-Äquivalent zur mysql_result()-Funktion?

Gibt es ein MySQLi-Äquivalent zur mysql_result()-Funktion?

Susan Sarandon
Freigeben: 2024-11-24 18:34:16
Original
342 Leute haben es durchsucht

Is There a MySQLi Equivalent to the mysql_result() Function?

Gibt es ein Äquivalent zur mysql_result()-Funktion von MySQLi?

Bei der Migration von PHP-Code von MySQL nach MySQLi stoßen Entwickler häufig auf Folgendes das Fehlen der Funktion mysql_result(). Obwohl bekannt ist, dass mysql_result() bei der Verarbeitung mehrerer Zeilen weniger effizient wird, ist seine Bequemlichkeit für Szenarien mit einem einzelnen Ergebnis und Feld unbestreitbar.

Ursprünglich ausgedrückt im folgenden Codeausschnitt:

if ($r && mysql_num_rows($r))
    $blarg = mysql_result($r, 0, 'blah');
Nach dem Login kopieren

Das gewünschte MySQLi-Äquivalent würde die Form annehmen:

if ($r && $r->num_rows)
    $blarg = $r->result(0, 'blah');
Nach dem Login kopieren

Eine solche Funktion existiert jedoch nicht in Das Standardrepertoire von MySQLi.

Die Lücke schließen

Um diese Lücke zu schließen, ist eine benutzerdefinierte Funktion entstanden, die die Funktionalität von mysql_result():

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;
}
Nach dem Login kopieren
repliziert

Diese Funktion behält den inhärenten Komfort von mysql_result() bei, indem sie die identische Syntax verwendet. Es gibt „false“ zurück, wenn die angegebene Zeile oder das angegebene Feld außerhalb der Ergebnismenge liegt, wodurch ein zuverlässiger Datenabruf gewährleistet wird. Darüber hinaus werden sowohl numerische Feldversätze als auch Feldnamen berücksichtigt, um die Flexibilität zu erhöhen.

Das obige ist der detaillierte Inhalt vonGibt es ein MySQLi-Äquivalent zur mysql_result()-Funktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage