Maison >développement back-end >tutoriel php >Comment remplacer mysql_result() par MySQLi en PHP ?

Comment remplacer mysql_result() par MySQLi en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-07 20:10:14190parcourir

How to Replace mysql_result() with MySQLi in PHP?

Équivalent MySQL de mysql_result()

Lors de la transition du code PHP de mysql vers MySQLi, l'absence d'équivalent à mysql_result() peut poser un obstacle mineur. Cette fonction permettait aux développeurs de récupérer une valeur unique à partir d'un résultat de requête.

Solution :

Malgré l'absence d'équivalent direct, une fonction personnalisée peut répliquer la fonctionnalité de mysql_result() :

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

Cette fonction :

  • Réplique le comportement de mysql_result().
  • Renvoie false si la requête est hors limites (résultat vide, ligne ou colonne inexistante).
  • Suppose la ligne 0 et la colonne 0 (une valeur de moins à pass) s'ils ne sont pas précisés.
  • Permet le décalage numérique du champ ou du champ name.

Exemple :

Pour utiliser la fonction, remplacez simplement l'appel mysql_result() par ce qui suit :

$blarg = mysqli_result($r, 0, 'blah');

Remarque :

Cette fonction personnalisée excelle lorsque vous travaillez avec un seul résultat et un seul champ, permettant code concis. Cependant, pour les ensembles de données plus volumineux, il est toujours recommandé d'utiliser la méthode fetch_assoc(), plus efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn