Interactuar con una base de datos utilizando Mysqli

En este artículo vamos a hacer una introducción a Mysqli, una de las opciones disponibles a la hora de desarrollar una aplicación PHP que necesite interactuar con una base de datos MySQL. La extensión mysqli, o como a veces se le conoce, la extensión de M

16/06/2012

En este artículo vamos a hacer una introducción a Mysqli, una de las opciones disponibles a la hora de desarrollar una aplicación PHP que necesite interactuar con una base de datos MySQL.

La extensión mysqli, o como a veces se le conoce, la extensión de MySQL mejorada, se desarrolló para aprovechar las nuevas funcionalidades encontradas en los sistemas MySQL con versión 4.1.3 o posterior. La extensión mysqli viene incluida en las versiones PHP 5 y posteriores.

La extensión mysqli contiene numerosos beneficios, siendo estas las mejoras principales respecto a la extensión mysql:

  • Interfaz orientada a objetos aunque también con posibilidad de utilizar procedimientos.
  • Soporte para múltiples declaraciones
  • Soporte para transacciones
  • Mejoradas las opciones de depuración
  • Soporte para servidor empotrado

Si utiliza MySQL versión 4.1.3 o superior, se recomienda encarecidamente utilizar esta extensión.

Vamos a ver algunos ejemplos:

Para conectar con una base de datos debería ejecutar la siguiente sentencia:

$conexion = new mysqli(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE);

Para obtener una tupla o columna de una tabla de la base de datos:

$result = $conexion->query("SELECT name FROM users WHERE user_id = 1);
$coins = $result->fetch_assoc();

Para obtener varios campos de varios registros:

$result = $conexion->query("SELECT `planet_id`, `name` FROM `planets` ORDER BY planet_id");
if ($result->num_rows > 0) {
    while ($row_planets = $result->fetch_assoc()) {                
        $planets[] = array('id' => $row_planets['planet_id'], 'name' => $row_planets['name']);
    }
}

Para realizar una modificación:

$update = "UPDATE users SET last_update = now() WHERE user_id = 1";
$conexion->query($update);

Para eliminar un registro:

$conexion->query("delete from users where id_user = 1");

Puede encontrar documentación más extensa aquí.

5 comentarios

Vitho - Gif animados
Publicado el 19/03/2013 03:32

Exelente aporte, ahora utilizo mysqli ????

Isaac
Publicado el 31/12/2014 21:46

Hola, Tengo una pregunta que funcino tiene usar -> en PHP?

veo que hay muchos framework de ph como Yii, CodeIgniter, Zend, que lo utilizan mucho en la estructura, y ahora veo que lo haces aqui con $conexion->query();


Estoy un poquito confundo alguien me puede eszplicar, que conosca mas que yo en PHP?


Gracias!

Jose Aguilar
Publicado el 03/01/2015 09:25

Hola buenos días,


Las flechas (->) indican, en este caso, que tenemos un objeto $connexion (instancia de Mysqli) y estamos llamando a su método query(). Tienes que tener alguna noción o mínimos conocimientos de programación orientada a objetos para entenderlo.


Espero que te haya aclarado,

SAludos

Andy
Publicado el 23/12/2016 02:51

José Aguilar Como anillo al dedo precisamente estaba viendo unos tutoriales viejos y todavía usaban el mysql_connect y me daban error, gracias.

ahm
Publicado el 28/01/2017 10:01

El ejemplo expuesto trata sobre Mysqli orientado a objetos de ahí que veas el simbolo -> que es lo que se llama el operador de acceso (a objetos)


Para emplear Mysqli (hoy en día es impensable hacer un proyecto nuevo con Mysql por «deprecated»), se puede hacer «Como siempre», es decir, empleando las funciones equivalentes o empleando mysqli orientado a objetos, el ejemplo que se expone es el segundo caso.

Añadir comentario

© 2026 . All rights reserved.

Desarrollador con amor por Komodo Website