Maison > développement back-end > tutoriel php > Existe-t-il un équivalent MySQLi à la fonction mysql_result() ?

Existe-t-il un équivalent MySQLi à la fonction mysql_result() ?

Susan Sarandon
Libérer: 2024-11-24 18:34:16
original
296 Les gens l'ont consulté

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

Existe-t-il un équivalent à la fonction mysql_result() de MySQLi ?

Lors du processus de migration du code PHP de MySQL vers MySQLi, les développeurs rencontrent souvent l'absence de la fonction mysql_result(). Bien qu'il soit reconnu que mysql_result() devient moins efficace lors de la gestion de plusieurs lignes, sa commodité pour les scénarios impliquant un seul résultat et un seul champ est indéniable.

Exprimée à l'origine dans l'extrait de code suivant :

if ($r && mysql_num_rows($r))
    $blarg = mysql_result($r, 0, 'blah');
Copier après la connexion

L'équivalent MySQLi souhaité prendrait la forme :

if ($r && $r->num_rows)
    $blarg = $r->result(0, 'blah');
Copier après la connexion

Cependant, une telle fonction n'existe pas dans MySQLi répertoire par défaut.

Répondre au vide

Pour combler cette lacune, une fonction personnalisée a émergé qui reproduit la fonctionnalité de 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;
}
Copier après la connexion

Cette fonction conserve la commodité inhérente de mysql_result() en employant la syntaxe identique. Il renvoie false si la ligne ou le champ spécifié se situe en dehors du jeu de résultats, garantissant ainsi une récupération fiable des données. De plus, il prend en charge à la fois les décalages de champs numériques et les noms de champs pour une flexibilité accrue.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal