[PHP] Conexion de Base de Datos con MySQLi

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

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.

<?php
$host="localhost";
$usuario="root";
$password="";
$db="prueba1";
$conexion = new mysqli($host,$usuario,$password,$db);
?>

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 personas

En el transcurso de este tutorial usaremos como ejemplo la tabla usuarios que aparece a continuación.

create table personas (
id int not null auto_increment primary key, 
nombre varchar(100),
apellido varchar(100), 
domicilio varchar(200)
);

Insertar

La consulta para insertar basándonos en la tabla personas es:

insert into personas (nombre,apellido,domicilio) value ("Agustin","Ramos","Mexico");

En PHP:

<?php 
$sql = "insert into personas (nombre,apellido,domicilio) value (\"Agustin\",\"Ramos\",\"Mexico\")"; 
$conexion->query($sql);
?>

Si la consulta de inserción en exitosa entonces podremos ver el id insertado con el atributo insert_id de la variable $conexion.

<?php echo $conexion->insert_id; ?>

Listar

Para listar las entradas de la tabla en SQL:

select * from personas

En 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";
}
?>

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:

update personas set nombre="Otro",apellido="Otro",domicilio="Otro" where id=1;

Debemos utilizar el id para especificar a que entrada nos estamos refiriendo.

En PHP;

<?php $sql="update personas set nombre=\"Otro\",apellido=\"Otro\",domicilio=\"Otro\" where id=1";
$conexion->query($sql);
?>

Eliminacion

Para eliminar también usaremos el parámetro id:

delete from personas where id=1

En PHP:

<?php 
$sql = "delete from personas where id=1"; 
$conexion->query($sql);?>

 

6 thoughts on “[PHP] Conexion de Base de Datos con MySQLi”

      1. 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.

  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í.

Leave a Comment

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