Heim  >  Artikel  >  Backend-Entwicklung  >  Wie ersetzt man die Funktion „mysql_result()' von PHP durch MySQLi?

Wie ersetzt man die Funktion „mysql_result()' von PHP durch MySQLi?

Linda Hamilton
Linda HamiltonOriginal
2024-11-25 13:29:11891Durchsuche

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

So replizieren Sie die Funktionalität der mysql_result()-Funktion von PHP in MySQLi

Die mysql_result()-Funktion, die häufig in älterem PHP-Code verwendet wird, ermöglicht Entwicklern den schnellen Zugriff auf bestimmte Daten aus einem MySQL-Abfrageergebnis. Diese Funktion wird jedoch in MySQLi, der verbesserten und empfohlenen Erweiterung für die Interaktion mit MySQL-Datenbanken, nicht nativ unterstützt.

Alternativer Ansatz mit dem Abrufen von Zeilen

Ein gängiger Ansatz zum Abrufen Um Daten aus MySQLi-Abfrageergebnissen zu erhalten, wird die entsprechende Zeile mit der Methode fetch_assoc() abgerufen. Hier ist ein Beispiel:

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

Dieser Ansatz umfasst mehrere Zeilen und kann weniger effizient sein als die Verwendung einer dedizierten Funktion wie mysql_result().

Benutzerdefinierte äquivalente Funktion

Um die Funktionalität von mysql_result() in MySQLi zu replizieren, können Sie wie gezeigt eine benutzerdefinierte Funktion erstellen unten:

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

Diese Funktion akzeptiert Zeilen- und Spaltenindizes als Parameter und gibt die entsprechenden Daten zurück, sofern vorhanden. Es behandelt auch potenzielle Fehler im Zusammenhang mit Anfragen außerhalb der Grenzen.

Verwendung:

Die Funktion mysqli_result() kann auf ähnliche Weise wie mysql_result() verwendet werden. :

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

Vorteile und Einschränkungen

Die benutzerdefinierte Funktion mysqli_result() ermöglicht einen prägnanteren Code und reduziert die Anzahl der Zeilen, die zum Abrufen von Daten aus MySQLi-Abfrageergebnissen erforderlich sind. Es ist jedoch zu beachten, dass diese Funktion auf dem dynamischen Funktionsaufruf von PHP basiert und im Vergleich zur ursprünglichen mysql_result()-Implementierung möglicherweise einen kleinen Leistungsverlust mit sich bringt.

Das obige ist der detaillierte Inhalt vonWie ersetzt man die Funktion „mysql_result()' von PHP durch MySQLi?. 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