[PHP] Conexion de Base de Datos con MySQLi

6

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 COMMENTS

      • 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 REPLY

Time limit is exhausted. Please reload CAPTCHA.