Conexión de PHP con MySQL utilizando PDO y MySQLi

Juan Carlos G 2020-03-10
1

📌 Suscríbete 🤘

Viajero Web te saludo de nuevo y me da gusto que hayas decidido aprender PHP y MySQL, en este primer vídeo te explicare de manera sencilla y rápida cuales son las 3 formas diferentes por las cuales puedes conectar PHP con MySQL, y en los próximos vídeos veremos las instrucciones básicas y que debes conocer para desarrollar casi cualquier, proyecto. Al final de esta serie apretaderas hacer un Dashboard con gráficas y tablas como todo un profesional, así que suscríbete al canal de EWebik en YouTube pero lo mas importante al boletín para que seas el primero en enterarte cuando suba el resto de vídeos.

 

📌 Suscríbete a mi canal y activa la campanita para que no te pierdas ningún video 🤘

 

¿Que aprenderás en este vídeo de conexión PHP y MySQL?

 

  • Aprenderás los 3 modos de trabajo de PHP con MySQL
    • Modo orientado a Objetos con MySQLi
    • Por Procedimientos con MySQLi
    • Modo PDO (Objetos de Datos de PHP)
  • Podrás ejecutar un archivo con extensión PHP desde linea de comando en Windows, esto es muy utilizado por programadores que utilizan PHP no solo para páginas web
  • Conocerás el uso básico de phpMyAdmin, como la creación de usuarios y la realización de algunas consultas básicas
  • Conexión desde PHP a phpMyAdmin a través de los 3 modos diferentes

Como ves son bastantes lo que aprenderás en este vídeo y solo es el primero, suscríbete si quieres que continué con mas vídeos como este.

 

 

¿Herramientas requeridas para este tutorial?

Para poder realizar este tutorial necesitaras algunas herramientas aquí te dejo los link para que puedas preparar el proyecto:

 

Puedes clonar esta clase para practicar a través de Git:

 

git clone https://github.com/EWebik/php-mysql-desde-cero.git

 

Continua con estas otras clases

 

 

¿Cómo se conecta PHP a MySQL?

Esta pregunta la resuelvo a detalle en el vídeo con un ejemplo practico, sin embargo, veamos los 3 modos de trabajo de PHP con MySQL para que te des una idea y comprendas mejor, los cuales son:

  • MySQLi utilizando objetos
  • Pero también se puede utilizar MySQLi mediante procedimientos
  • PDO (Objetos de Datos de PHP) Otra sintaxis muy poderosa que también trabaja con objetos.

 

En primer lugar para lograr una conexión exitosa con MySQL, que en este caso utilizaremos phpMyAdmin para el manejo de la base de datos, se debe comprender que PHP interactúa con el motor de base de datos de MySQL a través de algo que se le conoce como API la cual puede tener una sintaxis y comportamiento orientada a objetos o procedimental según el modo en el que estamos trabajando.

 

¿Que es una API en la conexión PHP-MySQL?

API significa Interfaz de Programación de Aplicaciones, y para el caso de PHP define las clases, métodos, funciones y variables que requiere cualquier aplicación PHP ya sea web o escritorio para interactuar con el motor de base de datos MySQL, estas APIs generalmente son una extensión que podemos agregar a nuestro proyectos PHP.

 

Extensión MySQLi para PHP

Esta extensión nos permite utilizar dos conceptos importantes, los cuales son Procedimientos y Orientados a objetos, con los cuales podemos realizar exactamente las mismas acciones pero con diferente sintaxis. Es decir, podemos encontrar una API que sea procedimental y requiera llamar funciones por cada acción que se necesite llevar a acabo, o por lo contrario, podemos tener una API que requiera instanciar una clase primero y después utilizar los métodos y atributos de esa clase para realizar alguna acción, como conectarnos o cerrar la conexión hacia MySQL.

 

Conectándonos a MySQL desde PHP a través de phpMyAdmin

Para fines de este curso lo que haremos primero es instalar XAMPP lo cual es muy sencillo y tengo un vídeo donde te enseño a instalarlo, después, solo debes ingresar al panel de control e inicializar Apache y MySQL.

 

Inicializando XAMPP

 

Creando usuario de conexión a MySQL

Ahora necesitamos tener un usuario que exista en phpMyAdmin que nos permita realizar la conexión, para elle debemos:

  • Ya que iniciamos Apache y MySQL, abre tu navegador y escribe localhost lo cual te abrirá la pagina principal de XAMPP y en el menú da clic en phpMyAdmin.
  • Esto te mandara a la interfaz de phpMyAdmin donde podrás visualizar tus bases de datos y mirar sus tablas, ahora solo debes dar clic en el menú que dice cuentas de usuario, si sientes que es algo complicado esta explicación, por favor mira el vídeo en donde lo hago paso a paso.
  • Para este curso he creado un usuario de nombre, curso y le he otorgado todos los privilegios.

 

Creando un usuario de conexión para MySQL y PHP

Se otorgan privilegios al usuario de conexión entre PHP y MySQL

 

Datos de conexión entre MySQL y PHP

Ya tenemos nuestro usuario, ahora solo debemos identificar el resto de parámetros que necesitamos para nuestra conexión, por ejemplo:

  • Usuario y contraseña, es lo que acabamos de definir y es necesario para lograr la conexión.
  • IP del servidor donde esta nuestra base de datos, en este caso como esta en mi computadora es 127.0.0.1 o lo que es lo mismo LOCALHOST.
  • Nombre de la base de datos, esto lo ocuparemos más a delante pero por el momento no es necesario.

En esta clase si ves el vídeo hemos creado un archivo PHP donde almacenamos estas variables y se ve algo así:

 

<? php
    $ usuarioBD = "cursos" ;
    $ passBD = "cursos" ;
    $ ipBD = "127.0.0.1" ;
    $ nombreBD = "prueba" ;
?>

 Estas variables las utilizamos para crear las conexiones como veremos a continuación.

 

Conexión a MySQL desde PHP con MySQLi utilizando Objetos

 

     /**
     * Conexión BD por Objetos
     */
    public function conBDOB()
    {
        $oConBD = new mysqli($ipBD, $usuarioBD, $passBD, $nombreBD);
        if ($oConBD->connect_error) {
            echo "Error al conectar a la base de datos: " . $oConBD->connect_error . "\n";
            return false;
        }
        echo "Conexión exitosa..." . "\n";
        return true;
    }

Para conectarnos a través de MySQLi por objetos necesitamos:

  • Declarar el objeto de conexión a través de  new mysqli  que recibe la IP, usuario, contraseña y nombre de la base de datos, aunque para esta clase no usamos el nombre de la base de datos ya que eso lo veremos en la siguiente clase que seguramente ya esta disponible y te sugiero que la veas.
  • Al conectarnos tenemos la variable de conexión  $oConBD  que tiene los metodos y atributos que representan nuestra conexión, por ejemplo,  $oConBD->connect_error  nos indica si existe algún error por el cual no se ha podido conectar a MySQL.

 

Conexión a MySQL desde PHP con MySQLi a través de procedimientos

 

     /**
     * Conexión BD por Procedimientos
     */
    public function conBDP()
    {
        $oConBD = mysqli_connect($ipBD, $usuarioBD, $passBD, $nombreBD);
        if (!$oConBD) {
            echo "Error al conectar a la base de datos: " . mysqli_connect_error() . "\n";
            return false;
        }
        echo "Conexión exitosa..." . "\n";
        return true;
    }

Cuando hablamos de MySQLi por procedimientos quiere decir que vamos a conectarnos a MySQL utilizando métodos o funciones que iremos llamando cuando requiramos hacer una acción, por ejemplo:

  • Para conectarnos necesitamos el procedimiento  mysqli_connect  que recibe la IP, usuario, contraseña y nombre de la base de datos, pero no se crea un objeto como en el ejemplo anterior.
  • Para saber si la conexión es exitosa, solo debemos validar que  $oConBD  es valido
  • Ahora como son procedimientos si queremos recuperar el error necesitamos otro procedimiento que es  mysqli_connect_error()  el cual en el conexto nos indicara cual es el error del porque no pudo conectarse.

 

Conexión a MySQL desde PHP con PDO

 

     /**
     * Conexión BD por PDO
     */
    public function conBDPDO()
    {
        try {
            $oConBD = new PDO("mysql:host=" . $ipBD . ";dbname=" . $nombreBD, $usuarioBD, $passBD);
            echo "Conexión exitosa..." . "\n";
            return true;
        } catch (PDOException $e) {
            echo "Error al conectar a la base de datos: " . $e->getMessage() . "\n";
            return false;
        }
    }

PDO es otra de las formas de conectarnos a MySQL desde PHP es una de las que más me gusta y también lo hace a través de objetos, por ejemplo:

  • Para empezar necesitamos crear un objeto  new PDO("mysql:host=" . $this->ipBD . ";dbname=" . $this->nombreBD, $this->usuarioBD, $this->passBD);  que recibe los mismos parámetros que los ejemplos anteriores, solo que cambia en la parte de nombre de la base de datos.
  • Es importante usar  try catch  ya que si hay algún error en la ejecución lo sabremos en el catch.

 

Bien hecho ya sabes como puedes conectarte a una base de datos de MySQL desde PHP a través de:

  • MySQLi por objetos
  • MySQLi por procedimientos
  • Y PDO

Ya sola falta que sigas practicando y que mejor con este curso gratuito y ya sabes que si te gusto ayúdame compartiendo en tus redes para que llegue a mas personas que lo necesiten.

 



https://ewebik.com

Juan Carlos G

Electrónica y diseño web


Durante años he desarrollado plataformas dedicadas al rastreo satelital y varios sitios web que se encuentran en la primera página de Google, y hoy quiero compartir contigo lo que se en tecnologías como Node JS, PHP, C# y Bases de datos, si quieres apoyarme sígueme en mis redes sociales y suscríbete a mi canal de YouTube.

@Puedes seguirme en mis redes

📌 Suscríbete 🤘