Evilnapsis

Programming, Hacking and More

DatabasesPHP Stuffs

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

[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 personas

En 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]

 

Agustin Ramos

Desarrollador de Software

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

  • 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 to Carlos Gonzalez Cancel reply