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
Susan SarandonOriginal
2024-11-24 18:34:16296Durchsuche

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');

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

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

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;
}
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!

Stellungnahme:
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