PHP y MySQL: Conexión usando MySQLi

Jimmy Vasquez
5 min readApr 27, 2021

--

PHP fue mi primer lenguaje para el backend que conocí en mi carrera como dev, en la preparatoria fue que empezamos a usarlo para crear una pequeña tienda online y el proyecto final era subirlo junto con una BD a un servidor remoto. En fin, sinceramente en ese tiempo no entendía al 100% como es que usaba PHP con un servidor para que realizara ciertas consultas a mi base de datos en MySQL, pero con el tiempo y si de verdad quieres ir más allá como desarrollador debes entender las bases para poder entender las complejidades que día a día salen. En este blog veremos mysqli, la interfaz más utilizada para realizar conexiones a MySQL, hablaremos de sus ventajas y desventajas así como también otra forma de acceder a BD como el uso de PDO el cual retomaremos en el siguiente blog.

mysqli es una clase que viene por defecto en MySQL, la cual nos ayuda a acceder a funcionalidades en MySQL, como la conexión a BD, ejecución de queries, etc.

Checa la documentación de mysqli en: https://www.php.net/manual/es/book.mysqli.php

Con la ayuda de mysql, PHP se ha convertido en un lenguaje muy usado para los proyectos que requieren bases de datos y diferentes funcionalidades.

Veamos un ejemplo de conexión con mysql, para demostrar su sencillez:

  1. En este caso, para el uso de MySQL usaré WampServer el cual nos da el entorno con Apache como servidor web y MySQL.
  2. Crearemos una base de datos llamada abarrotes con una tabla y 10 productos.
  3. Haremos un query sencillo para obtener los registros de productos y los mostraremos.

Empezando

Lo primero será crear nuestra base de datos en MySQL, para eso te comparto el query para que solo lo ejecutes:

Ahora, en mi caso que estoy usando WampServer necesito crear una carpeta donde vivirán los archivos del proyecto que después nuestro servidor ejecutará. Para eso iremos a: C:\wamp64\www

Dependiendo la ruta donde se te haya instalado, solo debes buscar como ingresar a www, si estas usando Xampp, deberás entrar a C:\xampp\htdocs

Ahora dentro de estos directorios creare una carpeta llamada conexion_mysql, dentro de esta crearemos un archivo llamado: index.php

Procederé a abrirlo con VSCode, tu puedes usar el editor que quieras:

Abriremos el archivo index.php y vamos a escribir el siguiente código para realizar nuestra conexión a MySQL:

Vayamos leyendo el código ..

Dentro de este archivo php, lo primero que hacemos es instanciar un objeto de tipo mysqli, al cual le estamos pasando cuatro argumentos:

En este caso, estamos en localhost, sin contraseña, el usuario root por defecto y nuestra base de datos llamada abarrotes que creamos al inicio. Después invocamos al atributo connect_error, el cual guarda el error en caso de que algo haya salido mal y procedemos a mostrarlo, caso contrario y todo salió bien mostraremos una etiqueta h1 con la leyenda “Database connected”.

¿Cómo lo pruebo?

Como dijimos, php es un lenguaje que puede manipular data que se envía a la base de datos o traerla, sin embargo el encargado de leer o renderizar mi código php será apache (mi servidor web), para eso debo tener apache encendido, en el caso de estar usando xampp o xamp. Para ver si esta encendido, solo accede a localhost en tu navegador y si te carga una pagina principal, todo bien!

Lo siguiente será acceder a nuestro recurso index.php, el cual vive en la carpeta conexion_mysql. Localhost carga como raiz, todas las carpetas que esten en www o htdocs.

Ingresamos a localhost/conexion_mysql/

¡Genial! Si todo salió bien, debemos ver nuestro titulo, sino se nos mostrara el error en pantalla, los cuales pueden ser haber escrito mal el nombre de la BD o si nuestro servidor pide contraseña.

Leyendo data

Si accedemos a nuestra base de datos y ejecutamos el query:

SELECT * FROM productos;

Veremos la siguiente data que insertamos al inicio:

Vamos a ejecutar el mismo query, pero desde PHP usando mysql. Para eso abajo del echo “Database Connected” agregaremos el siguiente código:

En la línea 10, declaramos una variable de tipo String llamada SQL, la cual contiene el query que queremos ejecutar. Después usamos un if para ejecutar el método query y le pasamos como parámetro SQL para realizar la petición a nuestra BD. Si resultado se vuelve true, todo salió bien y procederemos a mostrar la data. Por ultimo usaremos un ciclo para iterar sobre la respuesta que nos devolvió la BD, para eso usaremos una variable llamada row, la cual convertirá la respuesta de la BD en un array por medio del método fetch_assoc, entonces así podemos llamar a cada valor del array por el nombre exacto como lo tenemos en la tabla productos. Usaremos una etiqueta párrafo para mostrar todos los registros de la tabla productos.

Guardamos los datos en index.php y regresamos al navegador, ahora al recargar nuestra página deberá mostrar lo siguiente:

¡Y ya! Estamos mostrando la información que nos regreso MySQL por medio de mysqli. Claro, puedes hacer más cosas pero creo que con este pequeño ejemplo te das una idea de lo fácil que es manipular data y conectarte a MySQL.

Ventajas mysqli

  • Rapidez
  • Mapeo de objetos
  • Conexión fácil

Desventajas mysqli

  • Solo soporta MySQL
  • No permite parámetros nombrados
  • No permite consultas mas avanzadas como procedimientos almacenados

En el siguiente blog hablaremos de otra forma de conectarte a MySQL, que es PDO, así como sus ventajas y desventajas con mysqli. Después saltaremos a la realización de un CRUD, todo sin frameworks o librerías.

Repo con todo el código => https://github.com/JimmyVazz/assets-blog-php-mysql-mysqi

✍ y posteado con ❤ por JimmyVazz

--

--

Jimmy Vasquez
Jimmy Vasquez

Written by Jimmy Vasquez

|Software Engineer 📱|Writer 👔|Geek|Filmmaker 📹| Web 3 Developer 🖥 |

No responses yet