Tutoriales

Cómo usar mysql_result en PHP 7 o PHP 8

Esta mañana un cliente me avisó de un error cuando intentaba descargar unas facturas. Esas facturas están guardas en un BLOB en una base de datos a las que se accede para luego mostrarlas al usuario.

¿Qué ha pasado? Pues que hace tiempo actualizaron en su servidor PHP de 5.6 a 7.x o diría que ya a 8.x y claro, mirando el código se usaba la función mysql_result que básicamente lo que hace es leer el dato de una celda en concreto de una consulta SQL.

¿Qué ocurre? Que esa función no tiene alternativa directa en mysqli, la extensión para MySQL/MariaDB que sí es compatible con versiones modernas de PHP así que nada, con este pequeño código he vuelto a incluir la compatiblidad:

if (!function_exists('mysql_result')) {
    function mysql_result($result, $number, $field=0) {
        mysqli_data_seek($result, $number);
        $row = mysqli_fetch_array($result);
        return $row[$field];
    }
}

Así que nada, con esto, listo y a funcionar. Básicamente se mueve el registro que ofrece $result hasta la posición que quieras marcada por $number con mysqli_data_seek, se pasa el contenido a un array PHP con mysqli_fetch_array y se devuelve el resultado de la celda que queremos.

Tres líneas donde antes había una, pero quien haya diseñado el módulo mysqli tendrá sus motivos para haber quitado esa función y no ofrecer un sustituto.

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Compartir
Publicado por
F. Javier Carazo Gil
Etiquetas: mysqlphp

Entradas recientes

DeepSeek

2 días hace

Contacto

1 semana hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace