En estos años se ha ido experimentado un gran crecimiento en la búsqueda de digitalizar toda la información que emiten desde grandes empresas hasta en pequeños subsistemas de información que podamos hacer nosotros por andar por casa como es el caso de un blog.
Para así gestionar toda nuestra información por muy irrelevante que sea, de una manera más cómoda, eficiente, rápida y segura. En contra posición de la procedimiento tradicional que es papel, tinta, una impresora y un gran armario para almacenar todos esos papeles molestos y difíciles de encontrar.
Como hablamos anteriormente, PHP es un lenguaje de programación orientado al desarrollo de páginas Web dinámicas. Por ende, podemos sacarle un gran partido combinándolo con un sistema gestor de base de datos como MariaDB haciendo páginas Web que muestren la información que queramos. Esto ocurre gracias a los ODBC, inglés Open Database Connectivity, una serie de drivers que permiten conectarnos a nuestro SGDB y poder trabajar con él. Por norma general todos los SGBD deben tenerlos porque forma parte de un estándar. PHP tiene una serie de funciones, métodos, clases que permiten mediante una API conectar a estos SGBD.
En esta entrada hablaremos de MariaDB, un fork del famoso y universalizado SGDB MySQL y que en principio, lo que funciona en ella funciona igualmente debería funcionar en MySQL. Hay que comprender que todos estos gestores tienen al menos o como mínimo un usuario con todos los privilegios del mismo, seguido de una contraseña, una dirección IP y puerto del servidor dónde se encuentra además de la base de datos a la que apuntamos.
Los parámetros son los siguientes:
Servidor | localhost ó 127.0.0.1 (apunta a nuestra dirección local). |
Usuario | root |
Contraseña | root |
Base de datos | ejemplo |
Bien comencemos. Existen varias forma de acceder a una DB alojada en el SGDB de MariaDB mediante PHP como orientado por procedimientos y orientado a objetos. Sin embargo, vamos a tratar con la segunda porque nos resulta más sencilla y fácil de trabajar con ella pero utilizando los métodos de mysqli y no los de POO. (Otro día lo explicaremos por POO).
Primer método
Vamos a materializar un objeto.
mysqli en si es una clase esto quiere decir que posee una serie de métodos bien definidos además de una serie de propiedades con las que podemos trabajar cuando lo instanciemos que es el proceso en el que a partir de una clase se convierte en un objeto.
La sintaxis es la siguiente:
$ejemplo = new mysqli("DIR_SERVER","DB_USER","DB_PASS_USER","DB_2_WORK");
if ($ejemplo->connect_errno) {
echo "Fallo al contenctar a MySQL: (" . $ejemplo->connect_errno . ") " . $ejemplo->connect_error;
}echo $ejemplo->host_info . "\n";
Esto permite establecer la conexión con MariaDB.
Podemos ver todas las propiedades de esa conexión escribiendo lo siguiente:
echo "<pre>",print_r($ejemplo),"</pre>";
Nos saldrá un resultado como este:
Esto quiere decir que ha conectado perfectamente.
En caso de error, se nos mostrará un mensaje de error.
Segundo método
Podemos crear una clase y establecer una conexión con ella.
<?php
class Conexion {
private $servidor = "localhost";
private $usuario = "root";
private $contrasena = "example@";
private $based = "ejemplo";
private $conn;
public function conectar(){
$this->conn = new mysqli(
$this->servidor,
$this->usuario,
$this->contrasena,
$this->based
);
if ($this->conn->connect_errno) {
echo "Fallo al contenctar a MySQL: (" . $this->conn->connect_errno . ") " . $this->conn->connect_error;
}
echo $this->conn->host_info . "\n";
}
public function desconectar(){
self::conectar();
$this->conn->close();
}
}
$ejemplo = new Conexion();
$ejemplo->conectar();
?>
Tercer método
Haciendo uso de la herencia de la clase de mysqli
<?php
class Conexion extends mysqli {public function __construct($host, $usuario, $contrasena, $bd) {parent::__construct($host, $usuario, $contrasena, $bd);if (mysqli_connect_error()) {die('Error de Conexión (' . mysqli_connect_errno() . ') '. mysqli_connect_error());}}}$ejemplo = new Conexion('localhost', 'root', 'example@', 'ejemplo');
echo 'Éxito... ' . $bd->host_info . "\n";$ejemplo->close();?>
Y listo, ya tenemos la forma de conectarnos con MariaDB, puedes elegir el método que más te guste. Yo prefiero más el segundo porque creas tu propia clase con tus propiedades y métodos que luego utilizarás. Pero eres libre de cuál escoger, o de inventarte uno.
En las próximas entradas, veremos como trabajar con los datos almacenados en nuestra base de datos, y también como realizar consultas.
Referencias
- PHP.net ~ manual de PHP online
- Manuales guebs
genial! gracias!
ResponderEliminarA ti por pasarte!
EliminarGracias Maestro!!!!
ResponderEliminarA ti por pasar y agradecer!
EliminarGracias Maestro!!!!!!!!!!!!
ResponderEliminarGracias
ResponderEliminarEs un placer!
EliminarExcelente Alvaro, sencillo pero directo al grano
ResponderEliminar