(PHP 4, PHP 5)
mysql_connect — Abre una conexión al servidor MySQL
Esta extensión estaba obsoleta en PHP 5.5.0, y fue eliminada en PHP 7.0.0. En su lugar, se puede utilizar la extensión MySQLi o la extensión PDO_MySQL. Ver también MySQL: elegir una API de la guía. Alternativas a esta función:
$server
= ini_get("mysql.default_host"),$username
= ini_get("mysql.default_user"),$password
= ini_get("mysql.default_password"),$new_link
= false
,$client_flags
= 0Abre o reutiliza una conexión a un servidor MySQL.
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 safe mode 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 safe mode 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 safe mode 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 safe mode 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 de cliente MySQL para más información.
En safe mode SQL, éste parámetro es ignorado.
Devuelve un identificador de enlace de MySQL en caso de éxito o false
si ocurre un error.
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);
?>
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 entornoSYSTEMROOT
no estará disponible y PHP tendrá problemas al cargar Winsock.