Cómo conectarse a MySQL usando PHP

GuíasBases de datosMySQLPHPProgramacionSQL

Vamos a ver cómo te puedes conectar a MySQL desde un script de PHP. No solo existe un modo de hacerlo, por lo que veremos varios métodos.

Cómo conectarse a MySQL mediante PHP

Las funciones básicas de PHP para conectarse a la base de datos apenas son utilizadas a día de hoy. Estas funciones están obsoletas desde PHP 5.5 y ya no son seguras, por lo que si las utilizas, PHP mostrará un aviso. Siempre que puedas, crea la conexión mediante las extensiones MySQli o PDO, que siguen estando vigentes y son ampliamente soportadas.

Para conectarte a PHP usando estas funciones, debes seguir estos pasos:

  1. Crea la conexión a la base de datos, reemplazando USUARIO por el nombre de usuario con acceso a la base de datos y CONTRASEÑA por la contraseña del usuario:
    mysql_connect('localhost','USUARIO','CONTRASEÑA');
  2. Selecciona la based de datos apropiada, cambiando BASE_DE_DATOS por el nombre de la base de datos:
    mysql_select_db("BASE_DE_DATOS");

Si quieres realizar la conexión a un servidor remoto, debes reemplazar localhost por el nombre del servidor remoto. Por ejemplo, si el servidor se llamase servidor.miweb.com, tendríamos que ejecutar el siguiente comando, reemplazando locahost por el nombre del servidor, además de los datos de acceso oportunos:

mysql_connect('servidor.miweb.com','USUARIO','CONTRASEÑA');

Ahora ya podrás ejecutar consultas SQL sobre la base de datos seleccionada. Por ejemplo, vamos a seleccionar el nombre de todos los usuarios que hay almacenados en la tabla USUARIOS que son mayores de 20 años.

$nombres = mysql_query("SELECT nombre FROM usuarios WHERE edad > 20");

Cómo conectarse a MySQL usando MySQLi

La extensión MySQLi -MySQL Improved extension- hace uso de la clase mysqli de PHP, que actualmente reemplaza a las funciones clásicas de PHP. Para conectarte a PHP usando esta clase, debes ejecutar esta única instrucción:

Crea la conexión a la base de datos, reemplazando USUARIO por el nombre de usuario con acceso a la base de datos, CONTRASEÑA por la contraseña del usuario y BASE_DE_DATOS por el nombre de la base de datos:

$conexion_mysqli = new mysqli('localhost','USUARIO','CONTRASEÑA', 'BASE_DE_DATOS');

Del mismo modo que antes, para realizar conexión a un servidor remoto, que como ejemplo será servidor.miweb.com, tendrás que reemplazar localhost por el nombre del servidor:

$conexion_mysqli = new mysqli('servidor.miweb.com','USUARIO','CONTRASEÑA', 'BASE_DE_DATOS');

Ahora ya puedes ejecutar consultas SQL sobre la base de datos seleccionada. para las consultas utilizaremos el objeto con el enlace a la base de datos que que acabamos de crear. Por ejemplo, vamos a seleccionar el apellido de todos los usuarios que hay almacenados en la tabla USUARIOS que son mayores de 30 años.

$nombres = $conexion_mysqli->query("SELECT apellido FROM usuarios WHERE edad > 30");

Cómo conectarse a MySQL usando PDO

La extensión MySQLi solo puede ser utilizada con bases de datos MySQL. La librería PDO abstrae el acceso a la base datos y te permite crear consultas que puedan ser usadas por diferentes tipos de bases de datos. Para conectarte a PHP haciendo uso de la librería PDO, sigue estas instrucciones:

Crea la conexión a la base de datos, reemplazando USUARIO por el nombre de usuario con acceso a la base de datos, CONTRASEÑA por la contraseña del usuario y BASE_DE_DATOS por el nombre de la base de datos:

$conexion_pdo = new PDO('mysql:host=localhost;dbname=BASE_DE_DATOS', 'USUARIO', 'CONTRASEÑA');

Al igual que en los otros dos casos, para realizar conexión a un servidor remoto, que como ejemplo será servidor.miweb.com, tendrás que reemplazar localhost por el nombre del servidor:

$conexion_pdo = new PDO('mysql:host=servidor.miweb.com;dbname=BASE_DE_DATOS', 'USUARIO', 'CONTRASEÑA');

Ahora ya es posible ejecutar consultas SQL sobre la base de datos que has seleccionado. para las consultas utilizaremos el objeto con el enlace a la base de datos que que acabamos de crear. Por ejemplo, vamos a seleccionar la edad de todos los usuarios de la tabla USUARIOS que se apellidan moreno.

$nombres = $conexion_pdo->query("SELECT edad FROM usuarios WHERE apellido = 'moreno'");