# mysql_connect

(PHP 4, PHP 5)

mysql_connect — Abre una conexión al servidor MySQL

Advertencia

Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API. Las alternativas a esta función son:

- mysqli_connect()
- PDO::__construct()

### Descripción

mysql_connect(
string `$server` = ini_get("mysql.default_host"),
string `$username` = ini_get("mysql.default_user"),
string `$password` = ini_get("mysql.default_password"),
bool `$new_link` = `false`,
int `$client_flags` = 0
): resource|false

Abre o reutiliza una conexión a un servidor MySQL.

### Parámetros

`server`

  El servidor MySQL. También se puede incluir un número de puerto. P.ej. "nombre_anfitrión:puerto" o una ruta a un socket local, p.ej. ":/ruta/al/socket" para el servidor local.

  Si la directiva PHP mysql.default_host no está definida (por defecto), el valor por defecto es 'localhost:3306'. En modo seguro de SQL, éste parámetro es ignorado y siempre se usa el valor 'localhost:3306'.

`username`

  El nombre de usuario. El valor por defecto está definido por mysql.default_user. En modo seguro de SQL, éste parámetro es ignorado y se usa el nombre de usuario que posee el proceso del servidor.

`password`

  La contraseña. El valor por defecto está definido por mysql.default_password. En modo seguro de SQL, éste parámetro es ignorado y se usa la contraseña vacía.

`new_link`

  Si se realiza una segunda llamada a mysql_connect() con los mismos argumentos, un nuevo enlace no será establecido, pero en su lugar, será devuelto el identificador de enlace del enlace ya abierto. El parámetro `new_link` modifica éste comportamiento y hace que mysql_connect() siempre abra un nuevo enlace, aun si mysql_connect() fue llamada antes con los mismos parámetros. En modo seguro de SQL, éste parámetro es ignorado.

`client_flags`

  El parámetro `client_flags` puede ser una combinación de las siguientes constantes: 128 (habilita el manejo de `LOAD DATA LOCAL`), `MYSQL_CLIENT_SSL`, `MYSQL_CLIENT_COMPRESS`, `MYSQL_CLIENT_IGNORE_SPACE` o `MYSQL_CLIENT_INTERACTIVE`. Lea la sección sobre Constantes del cliente MySQL para más información. En modo seguro de SQL, éste parámetro es ignorado.

### Valores devueltos

Devuelve un identificador de enlace de MySQL en caso de éxito o `false` en caso de error.

### Ejemplos

Ejemplo #1 Ejemplo de mysql_connect()

`<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>`

Ejemplo #2 Ejemplo de mysql_connect() usando la sintaxis `nombre_anfitrión:puerto`

`<?php
// nos conectamos a ejemplo.com y al puerto 3307
$enlace = mysql_connect('ejemplo.com:3307', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
// nos conectamos a ejemplo.com y al puerto 3307
$enlace = mysql_connect('127.0.0.1:3307', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>`

Ejemplo #3 Ejemplo de mysql_connect() usando la sintaxis ":/rota/al/socket"

`<?php
// nos conectamos a localhost y a la toma ej. /tmp/mysql.sock
// variante 1: omitir el localhost
$enlace = mysql_connect(':/tmp/mysql', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
// variante 2: con localhost
$enlace = mysql_connect('localhost:/tmp/mysql.sock', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>`

### Notas

> Nota:

> Siempre que se especifique "localhost" o "localhost:puerto" como servidor, la biblioteca cliente de MySQL invalidará esto e intentará conectarse a un socket local (llamada tubería en Windows). Si se quiere usar TCP/IP, se ha de utilizar "127.0.0.1" en lugar de "localhost". Si la biblioteca cliente de MySQL intenta conectarse al socket local erróneo, se debería establecer el ruta correcta como en la configuración de PHP y dejar el campo del servidor en blanco.

> Nota:

> El enlace al servidor se cerrará tan pronto finalice la ejecución del script, a menos que se cierre antes por una llamada explícita a mysql_close().

> Nota:

> Se pPuede suprimir el mensaje de error en caso de fallo anteponiendo un @ al nombre de la función.

> Nota:

> El error "Can't create TCP/IP socket (10106)" normalmente significa que la directiva de configuración variables_order no contiene el carácter `E`. En Windows, si el entorno no es copiadola variable de entorno `SYSTEMROOT` no estará disponible y PHP tendrá problemas al cargar Winsock.

### Ver también

- mysql_pconnect() - Abre una conexión persistente a un servidor MySQL
- mysql_close() - Cerrar una conexión de MySQL