¿Cómo realizar la conexión de PHP con MySQL utilizando PDO y MySQLi?

Iniciophp mysqlConectar PHP con MySQL
¿Cómo realizar la conexión de PHP con MySQL utilizando PDO y MySQLi?

by Juan Carlos García

22-Jul-2023

(4)

Suscribirme al canal:

Viajero Web te saludo de nuevo y me da gusto que hayas decidido aprender PHP y MySQL.

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

Aprenderás los 3 modos de trabajo de PHP con la base de datos 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.

¡No te puedes perder las nuevas clases 🧐!

PHP - MySQL

PHP - MySQL

Curso gratuito de PHP y MySQL para principiantes

Conectar PHP con MySQL

Conectar PHP con MySQL

¿Cómo realizar la conexión de PHP con MySQL utilizando PDO y MySQLi?

Crear Base de Datos MySQL

Crear Base de Datos MySQL

¿Cómo crear una base de datos MySQL con PHP?

Insertar datos en MySQL desde PHP

Insertar datos en MySQL desde PHP

¿Cómo insertar datos en MySQL desde PHP? Y ¿ Cómo obtener el ultimo ID insertado de una tabla?

Sentencias Preparadas MySQL PHP

Sentencias Preparadas MySQL PHP

¿Cómo crear y ejecutar sentencias preparadas (Prepared Statement) en MySQL con PHP?

Select, Update, Delete MySQL PHP

Select, Update, Delete MySQL PHP

¿Cómo hacer y ejecutar querys SELECT, UPDATE y DELETE en MySQL desde PHP?

¿Cómo crear un Dashboard en PHP y MySQL?

¿Cómo crear un Dashboard en PHP y MySQL?

¿Cómo crear un Dashboard con gráficas en PHP y MySQL?

Procedimientos Almacenados MySQL PHP

Procedimientos Almacenados MySQL PHP

CREATE PROCEDURE en MySQL: ¿Cómo crear procedimientos almacenados en MySQL?

Login en PHP

Login en PHP

LOGIN PHP: ¿Cómo crear un login en PHP y MySQL en menos de una hora?

🧐 Autoevaluación: Conectar PHP con MySQL

¿Cuál de las siguientes extensiones de PHP se utiliza comúnmente para conectarse a una base de datos MySQL?

¿Qué función se utiliza en PHP para establecer una conexión con una base de datos MySQL utilizando la extensión mysqli?

¿Cuál de las siguientes afirmaciones es cierta acerca de la extensión PDO (PHP Data Objects) en relación con MySQL?

Libros de PHP con MySQL

SI aún eres de los que disfrutan un buen libro, te dejo estas opciones para seguir aprendiendo PHP y MySQL

¿Cómo realizar la conexión de PHP con MySQL utilizando PDO y MySQLi?

¿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

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

¿Qué 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.

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.

 

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.

🧐 Autoevaluación: Conectar PHP con MySQL

¿Cuál de las siguientes extensiones de PHP se utiliza comúnmente para conectarse a una base de datos MySQL?

¿Qué función se utiliza en PHP para establecer una conexión con una base de datos MySQL utilizando la extensión mysqli?

¿Cuál de las siguientes afirmaciones es cierta acerca de la extensión PDO (PHP Data Objects) en relación con MySQL?

Juan Carlos

Juan Carlos García

Desarrollador de software / SEO

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.

EWebik

Diseño de páginas web y aplicaciones moviles.

© 2024 EWebik