Para empezar a usar una base de datos MySQL, primero debes entender cómo conectarte desde tu programa PHP (script) a esa base de datos MySQL.

Este artículo describe tres métodos, así como ejemplos de código PHP que explican cómo conectarte a tu base de datos desde PHP.

Para todos los ejemplos a continuación, nos conectaremos a una base de datos MySQL ya existente.

Nota: todo lo que se explica aquí también funcionará con MariaDB, al igual que con MySQL.

Conexión a PHP usando la extensión mysqli

mysqli significa MySQL Improved (MySQL Mejorado)

Código para conectar MySQL con PHP usando mysqli. Ejemplo de código que muestra cómo establecer una conexión a una base de datos MySQL usando la extensión mysqli en PHP.
Código fuente PHP para conectar a MySQL usando la librería mysqli. Simple y efectivo.

Crea el siguiente archivo mysqli.php:

<?php

 $conn = new mysqli("localhost", "name", "pass", "db");

  if ($conn->connect_error) {
    die("Error: Imposible conectarse: " . $conn->connect_error);
  }

 echo 'Conectados a la base.<br>';

 $result = $conn->query("SELECT id FROM goroda");

 echo "Número de filas: $result->num_rows";

 $result->close();

 $conn->close();

  ?>

En el código anterior:

mysqli – Esta función inicia una nueva conexión usando la extensión mysqli. La función acepta cuatro argumentos:

  • localhost: el nombre del host donde se ejecuta la base de datos MySQL.
  • name: el nombre de usuario de MySQL para la conexión.
  • pass: la contraseña del usuario de MySQL.
  • db: la base de datos MySQL a la que conectarse.

query: la función de consulta de MySQL. En este ejemplo, seleccionamos la columna id de la base de datos goroda.

Finalmente, mostramos el número de filas seleccionadas usando la variable num_rows en el resultado. También cerramos tanto el resultado como la variable de conexión, como se muestra arriba.

Cuando ejecutas mysqli.php desde tu navegador, verás la siguiente salida, que indica que PHP pudo conectarse a la base de datos MySQL y obtener datos:

Conectados a la base.
Número de filas: 6

Lee la documentación de mysqli, aquí.

Conexión desde PHP con la Extensión PDO de MySQL

PDO significa PHP Data Objects (Objetos de Datos PHP).

Conexión PHP a MySQL con PDO: Ejemplo de código PHP que utiliza PDO para conectarse a una base de datos MySQL, mostrando manejo de errores.
Código PHP para conectar a MySQL utilizando PDO. Manejo de errores incluido.

El controlador PDO_MYSQL implementa la interfaz PDO proporcionada por PHP para conectarse desde tu script PHP a la base de datos MySQL.

Crea el siguiente archivo mysql-pdo.php:

<?php
 try {
 $conn = new PDO("mysql:host=localhost;dbname=db", "name", "pass");

 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 echo 'Conectados a la base.<br>';

 $sql = 'SELECT id FROM goroda';

    print "Lista de id:<br>";
    foreach ($conn->query($sql) as $row) {
        print $row['id'] . "<br>";
    }
 $conn = null;

  }
  catch(PDOException $err) {
 echo "Error: Imposible conectarse: " . $err->getMessage();
  }
?> 

En el código anterior:

new PDO: crea un nuevo objeto PDO que aceptará los siguientes tres argumentos:

  1. Cadena de conexión mysql: tendrá el formato “mysql:host=localhost;dbname=db”. En el ejemplo anterior, db se ejecuta en localhost, y nos conectamos a la base de datos db.
  2. El nombre de usuario de MySQL para la conexión.
  3. La contraseña del usuario de MySQL.
  • La variable $sql: crea la consulta SQL que deseas ejecutar. En este ejemplo, seleccionamos la columna id de la tabla goroda.
  • query($sql): aquí ejecutamos la consulta SQL que acabamos de crear.
  • foreach: aquí iteramos sobre el resultado del comando de consulta anterior y lo guardamos en la variable $row, y luego lo mostramos con print.
  • En MySQL PDO, para cerrar la conexión, simplemente establece la variable $conn en null.

Cuando ejecutas el script mysqli-pdo.php desde tu navegador, verás las siguientes líneas; significan que PHP pudo conectarse a la base de datos MySQL y obtener información:

Conectados a la base.
Lista de id:
1
2
3
4
5
6

Lee la documentación de PDO MySQL, aquí.

Conexión desde PHP usando las funciones mysql obsoletas

Usa este método solo si estás usando una versión anterior de PHP y por alguna razón no puedes actualizarla a una versión más nueva.

Se recomienda usar el método 2 y el método 3 que se muestran arriba en lugar de este método. He incluido este método solo como referencia, no como una recomendación para su uso.

Esta extensión específica está obsoleta desde la versión PHP 5.5. Pero, a partir de la versión PHP 7.0, ni siquiera funcionará, ya que se eliminó. A partir de la versión PHP 5.5, cuando usas estas funciones, generará un error E_DEPRECATED.

Por eso, aunque recomiendo a mis clientes usar las últimas versiones de PHP en proyectos nuevos, para los antiguos recomiendo hacer la transición con precaución. La compatibilidad con versiones anteriores, por desgracia, no siempre funciona.

Crea el archivo mysql.php:

<?php
$conn = mysql_connect('localhost', 'name', 'pass');
mysql_select_db("db");
if (!$conn) {
die('Error: Imposible conectarse: ' . mysql_error());
}

echo 'Conectados a la base.<br>';

$result = mysql_query('SELECT id FROM goroda');

$row = mysql_fetch_row($result);
echo "id 1: ", $row[0], "<br>\n";

mysql_close($conn);
?>

En el código anterior:

La función mysql_connect acepta tres argumentos:

  • El nombre del host donde se ejecuta la base de datos MySQL;
  • El nombre de usuario de MySQL para la conexión;
  • La contraseña del usuario de MySQL. Aquí se conecta a la base de datos MySQL que se ejecuta en el servidor local usando el nombre de usuario y su contraseña.

La función mysql_select_db. Como su nombre indica, selecciona la base de datos a la que deseas conectarte. Es equivalente al comando use. En este ejemplo, nos conectamos a la base de datos db.
La función mysql_query: se usa para especificar tu consulta MySQL. En este ejemplo, seleccionamos la columna id de la base de datos goroda.
mysql_fetch_row. Usa esta función para extraer filas de la consulta SQL que acabamos de crear.
Finalmente, cierra la conexión usando el comando mysql_close, como se muestra arriba.

Cuando ejecutas mysql-legacy.php desde tu navegador, verás la siguiente salida, que indica que PHP pudo conectarse a la base de datos MySQL y obtener información:

Conectados a la base.
id 1: 1

Así es como puedes conectarte a MySQL. Repito, es mejor usar los dos primeros métodos.

Conclusión

Ya conoces los tres métodos para conectar MySQL con PHP:

  • mysqli → moderno y recomendado.
  • PDO → más flexible y seguro, ideal para proyectos escalables.
  • mysql → obsoleto, solo como referencia histórica.

Para proyectos nuevos, usa siempre mysqli o, mejor aún, PDO.

Categorizado en:

Base Datos, PHP,