Heim > Artikel > Backend-Entwicklung > Wie ersetzt man die Funktion „mysql_result()' von PHP durch 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 && $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; }
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!