[PHP] Conexion de Base de Datos con MySQLi

MySQLi es una clase de PHP que permite conectarse a la base de datos MySQL.

📌 Nota: Este artículo forma parte de nuestro Centro de Tutoriales y Recursos. Visita la lista completa para descubrir más técnicas avanzadas, integración de APIs y buenas prácticas de backend.

Introduccion

Para continuar con este post debe saber lo básico del lenguaje SQL, si no sabe le recomendamos aprender aqui.

Conexión

Para conectarse a la base de datos se crea una instancia de la clase mysqli pasando como parámetros: host, usuario, contraseña y base de datos.[code language=”php”] <?php $host=”localhost”; $usuario=”root”; $password=””; $db=”prueba1″; $conexion = new mysqli($host,$usuario,$password,$db); ?> [/code]Puedes sustituir los valores de las variables $host, $usuario, $password, $db que se adapte a tu instalación.Si la conexión es exitosa entonces la variable $conexion es nuestra clave para manipular la base de datos.Tabla personasEn el transcurso de este tutorial usaremos como ejemplo la tabla usuarios que aparece a continuación.[code language=”sql”] create table personas ( id int not null auto_increment primary key, nombre varchar(100), apellido varchar(100), domicilio varchar(200) ); [/code]

Insertar

La consulta para insertar basándonos en la tabla personas es:[code language=”sql”] insert into personas (nombre,apellido,domicilio) value (“Agustin”,”Ramos”,”Mexico”); [/code]En PHP:[code language=”php”] <?php $sql = “insert into personas (nombre,apellido,domicilio) value (\”Agustin\”,\”Ramos\”,\”Mexico\”)”; $conexion->query($sql); ?> [/code]Si la consulta de inserción en exitosa entonces podremos ver el id insertado con el atributo insert_id de la variable $conexion.[code language=”php”] <?php echo $conexion->insert_id; ?> [/code]

Listar

Para listar las entradas de la tabla en SQL:[code language=”sql”] select * from personas [/code]En PHP:[code language=”php”] <?php $sql=”select * from personas”; $query=$conexion->query($sql); if($query->num_rows>0){ while($r=$query->fetch_array()){ echo $r[“nombre”]; echo “<br>”; } }else{ echo “No hay resultados”; } ?> [/code]Con fetch_array convertimos el resultado obtenido en un array, otra opción seria fetch_object con lo que manejaríamos un objeto.La variable $r es nuestro array resultado y accedemos a los campos de la base de datos desde la palabra dentro de corchetes: $r[“id”],$r[“nombre”],$r[“apellido],$r[“domicilio”].Si usaramos fetch_object la forma de acceder a los valores seria: $r->id, $r->nombre,$r->apellido,$r->domicilio.

Actualizacion

La consulta SQL para actualizar es:[code language=”sql”] update personas set nombre=”Otro”,apellido=”Otro”,domicilio=”Otro” where id=1; [/code]Debemos utilizar el id para especificar a que entrada nos estamos refiriendo.En PHP;[code language=”php”] <?php $sql=”update personas set nombre=\”Otro\”,apellido=\”Otro\”,domicilio=\”Otro\” where id=1″; $conexion->query($sql); ?> [/code]

Eliminacion

Para eliminar también usaremos el parámetro id:[code language=”sql”] delete from personas where id=1 [/code]En PHP:[code language=”php”] <?php $sql = “delete from personas where id=1”; $conexion->query($sql);?> [/code]
Te puede interesar: FullMedik Pro – Sistema Medico y Hospitalizacion Profesional

6 Comments

  1. Por cierto, muy agradecido con el autor de este post, ya que estoy por dar unas clases de PHP donde empezaré a explicar la POO con bases de datos, y estaba buscando una forma ordenada y sencilla de hacerlo, luego iré subiendo el nivel con un diseño MVC. Pero para iniciar me parece perfecto la forma como se explica aquí.

      • Es lo que se supene que pase, pero para mantener buenas prácticas en programación pues sería muy útil (aunque tal vez algo complicado para personas con poca experiencia en PHP y en POO) crear una clase “Conexion” donde se use un método __construct() para conectarse y un método __destruct() para cerrar de manera correcta una conexión.

Leave a Reply

Your email address will not be published. Required fields are marked *

Discover more from Evilnapsis

Subscribe now to keep reading and get access to the full archive.

Continue reading