Saltar al contenido

¿Equivalente de MySQLi de mysql_result ()?

Solución:

Tiempo contestado, Pensé que podría mejorar la respuesta dada después de tener la misma pregunta. La siguiente función replica completamente la función mysql_result () y devuelve falso cuando está fuera de los límites de su solicitud (resultado vacío, sin fila de ese número, sin columna de ese número). Tiene el beneficio adicional de que, si no especifica la fila, asume 0,0 (un valor menos que se debe pasar). La función se actualizó para permitir el desplazamiento numérico del campo o el nombre del campo.

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

PHP 5.4 ahora admite la desreferenciación de matrices de funciones, lo que significa que puede hacer esto:

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

Puede hacer esto obteniendo un objeto en lugar de una matriz.

$mysqli->query("SELECT email FROM users WHERE userid = 'foo'")->fetch_object()->email;

Necesita PHP 5+ para usar el encadenamiento de métodos como este.

Alternativamente, si usa MySQLi procedimental, es fácil escribir el suyo mysqli_result función que coincide mysql_result.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *