(PHP 4, PHP 5)
mysql_connect — Abre una conexión al servidor MySQL
Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:
$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
]]]]] )Abre 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 SQL safe mode, é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 SQL safe mode, é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 SQL safe mode, é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 SQL safe mode, é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 SQL safe mode, éste parámetro es ignorado.
Devuelve un identificador de enlace de MySQL en caso de éxito o FALSE
en caso de error.
Versión | Descripción |
---|---|
5.5.0 |
Esta función generará un error de nivel
E_DEPRECATED .
|
4.3.0 |
Se añadió el parámetro client_flags .
|
4.2.0 |
Se añadió el parámetro new_link .
|
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 entorno SYSTEMROOT no estará disponible y PHP tendrá problemas al cargar Winsock.