Saltar al contenido
MundoCursos

¿Cómo conectar una base de datos con PHP?

¿Necesitas saber cómo conectar una base de datos con PHP? Posiblemente no sea el proceso que vayas a repetir en más ocasiones en el trabajo con código php, pero sí que es uno de los más útiles. Por ello, es necesario que lo llegues a dominar y que así tengas control completo sobre las bases de datos MySQL, para que las administres y edites a voluntad.

En las próximas líneas, te explicaremos las distintas formas en las que puedes llevar a cabo esta acción. También te detallaremos otros aspectos importantes que van a influir en la manera en la que hagas esta conexión entre PHP y la base de datos.

¿Cómo hacer la conexión de PHP con la base de datos MySQL?

Te vamos a explicar las dos maneras por las que vas a poder llevar a cabo este proceso: PDO y MySQLi. Cada uno de los sistemas tiene sus aspectos positivos y negativos, por lo que te recomendamos leer las instrucciones de cada uno y que así puedas decidir cuál quieres usar.

Conectar una base de datos con PHP por medio de PDO

Por lo pronto, deja que te expliquemos qué es lo que caracteriza a cada método.

PDO significa PHP Data Object, y significa que se trata de una herramienta compatible con multitud de tipos de bases de datos.

Así, la puedes utilizar en combinación con MySQL, Informix, MSSQL o PostgreSQL, entre otras.

Eso sí, ten en cuenta que hay una particularidad importante sobre esta herramienta: solo es compatible en un trabajo orientado a objetos. Si quieres más versatilidad, necesitarás hacer uso de MySQLi (MySQL Improved). En este caso, solo la puedes utilizar con MySQL, puesto que se trata de una de sus extensiones independientes y de uso exclusivo.

Como su nombre indica, lo que hace MySQLi, es mejorar el rendimiento de la base de datos MySQL. Así, incorpora, por ejemplo, funciones adicionales de las que sacar provecho.

No solo tienes que usarlo orientado a objetos, sino que también es procedimental. La forma de trabajar con MySQLi es muy dinámica.

Conectar una base de datos con PHP por medio de MySQLi

El principal motivo es que se cambia la forma en la que se trabaja con la estructura de datos. Estos datos no siguen estando ordenados linealmente como en MySQL, sino que cambian a una división estructurada de formato intercambiable.

Lo que en MySQL significa un gran proceso de edición para cambiar solo uno o dos datos, con MySQLi implica que se pueda hacer en cuestión de unos pocos minutos.

¿Te gustaría aumentar tus conocimientos en PHP?

Está claro que ser autodidacta es una de las mejores cualidades que podría tener cualquier programador.

Sin embargo, si quieres acelerar al máximo tu aprendizaje, te recomendamos que veas esta lista con los mejores cursos para aprender PHP online. Los hemos seleccionado y analizado minuciosamente para ayudarte a elegir el ideal.

Conectar una base de datos con PHP por medio de PDO

Toma nota, ahora, del paso a paso que tienes que seguir para poder hacer la conexión de la base de datos MySQL con código PHP mediante PDO.

Paso 1. Crea el archivo de configuración de PDO

Usaremos XAMPP como servidor web

Usaremos XAMMP como servidor web. Entra en la carpeta “explorer”.

Ingresando a la carpeta htdocs (localhost)

Y luego en «htdocs».

Crea el archivo de configuración de PDO

Crea el siguiente archivo, debe tener el nombre de “pdoconfig.php” y copia el código el siguiente código.

<?php

    $host = "localhost";

    $dbname = "nombre-de-la-basededatos";

    $username = "nombre-de-usuario";

    $password = "contraseña";

Paso 2. Crea el archivo de conexión con la base de datos

Crear el archivo de conexión con la base de datos

Sin moverte de la carpeta que te hemos indicado en el apartado anterior, crea otro archivo php. En este caso tienes que darle el nombre de “databaseconnect.php”. El código es el siguiente:

<?php

require_once 'pdoconfig.php';

try {

    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

    echo "Connected to $dbname at $host successfully.";

} catch (PDOException $pe) {

    die("Could not connect to the database $dbname :" . $pe->getMessage());

}

De este código hay varios aspectos importantes a destacar. Lo primero es que, si en el primer código hiciste un cambio en el nombre del archivo php, será algo que habrás arrastrado hasta este segundo código. Nosotros hemos usado el nombre generalizado “pdoconfig.php”. Pero, si tú cambiaste ese nombre, recuerda que también necesitarás modificarlo en el segundo código.

Otro código que quizá se te escapa es el de “catch”, el cual está en el segundo de ellos. Lo que se le está ordenando al código es que, si se ha producido algún tipo de problema y el sistema no se conecta con la base de datos, haga una llamada al sistema de captura “catch”.

Conectar una base de datos con PHP por medio de MySQLi

Son muchos los profesionales que prefieren optar por el uso de MySQLi, aunque en nuestro caso, te diremos que cada una de las herramientas tiene sus propios momentos en los que brillar. Por ello, aunque vayas a usar PDO, también es importante que conozcas el rendimiento de esta.

Como en el caso anterior, navega hasta “htdocs” moviéndote por el administrador de archivos que estés usando en la estructura de tu localhost. Ahora crea el archivo “databaseconnect.php”, aunque puedes cambiarle el nombre. Hemos elegido este por su relación y lo fácil que es luego seguir el proceso, pero tienes libertad para cambiar el nombre como quieras.

Abre el archivo y pon dentro el código que te dejamos a continuación:

<?php

$servername = "localhost";

$database = "nombre-de-basededatos";

$username = "nombre-de-usuario";

$password = "contraseña";

// Create connection

$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection

if (!$conn) {

    die("Connection failed: " . mysqli_connect_error());

}

echo "Connected successfully";

mysqli_close($conn);

?>

Recuerda que tienes que cambiar los campos de nombre de base de datos, nombre de usuario y contraseña por los datos que correspondan a la instalación que has hecho. Así es como podrás personalizar el código para que funcione en tu localhost.

Este código es bastante sencillo incluso si no tienes mucha experiencia con PHP. Puedes ver que hemos utilizado el sistema “mysqli_connect()”, con el cual PHP conecta con uno de los servidores en los que está la base de datos MySQL.

También apreciarás que están dentro los parámetros de nombre de servidor (localhost en este caso), nombre de la base de datos, nombre de usuario y contraseña. Edita los campos dependiendo de lo que corresponda en tu ejercicio.

A continuación, puedes editar la respuesta que dará el sistema si se produce un error de conexión (connection failed) o si resulta exitosa (Connected successfully). Como siempre, edítalo todo como encaje mejor en tu modelo de trabajo y tipo presentación.

Preguntas frecuentes sobre conectar una base de datos con PHP

Trabajando con código PHP y bases de datos, es habitual que se puedan producir errores o que se generen momentos en los que puedas sentirte perdido. Estas son algunas de las preguntas más frecuentes que se suelen dar en este contexto:

¿Qué hacer si aparece el mensaje de contraseña incorrecta?

Es muy normal, puesto que se puede producir porque simplemente hayas escrito algún dígito o letra de forma errónea en la contraseña. Tienes que revisar que la contraseña está bien escrita y coincide tanto en la base de datos como en el código PHP.

Si te aparece un mensaje de error como “No se ha podido conectar a la base de datos” y en pantalla ves una referencia a la contraseña, sabrás que el problema se encuentra en ella. Revisa todos los datos para intentar encontrar el lugar donde se encuentra el problema.

¿Cómo saber si la conexión entre PHP y base de datos es correcta?

Solo tienes que acceder al siguiente enlace localhost/databaseconnect.php o cambiar “localhost” por la dirección de tu página web si ya estás online. Para saber que funciona, debes esperar a ver el mensaje “Conexión exitosa”.

En el caso de que no aparezca ese mensaje y que, en su lugar, veas un error, se podría deber a que hayas cambiado el nombre del archivo PHP al que estás intentando acceder. A veces, los errores más simples son los que hacen perder una mayor cantidad de tiempo.

¿Por qué no puedo conectar con el servidor MySQL?

Si te encuentras con un mensaje como “No se ha podido conectar con el servidor MySQL”, implicará que hay un problema con el nombre del servidor. Es muy común que cambiemos el nombre del servidor en el campo de $servername y pongamos otro tipo de término, como “servidor”.

Pero, en realidad, lo que hay que hacer es incluir “localhost”. Repara los nombres de servidor y todo funcionará. Esto se puede aplicar con cada una de las dos extensiones que hemos explicado.

¿Qué hacer si tengo otros problemas y no encuentro la solución?

Hay una forma muy sencilla de tener un punto de partida que te ayude a resolver la incidencia y a descubrir qué es lo que está ocurriendo con tu conexión entre PHP y base de datos. Lo único que tienes que hacer es localizar el archivo “error_log” que se encuentra en “public_html”.

La responsabilidad de este documento es dejar un registro de absolutamente todos los problemas que se puedan generar a la hora de crear código.

Recuerda que todos los códigos que escribas hay que comprobarlos dos o tres veces hasta que tengas la seguridad de que no hay ningún tipo de error. Eso te ayudará a poder elaborar procesos y scripts de PHP con sencillez y sabiendo que los resultados que te aportará siempre serán buenos.