(PHP 4, PHP 5)
mysql_connect — Abre una conexión al servidor MySQL
Abre o reutiliza una conexión a un servidor MySQL.
El servidor MySQL. También se puede incluir un número de puerto. Ej. "nombredehost:puerto" o una ruta a una toma local ejemplo ":/ruta/ala/toma" 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 el valor 'localhost:3306' es siempre usado.
El nombre de usuario. El valor por defecto es definido por mysql.default_user. En SQL safe mode, éste parámetro es ignorado y el nombre de usuario que posee el proceso del servidor es usado.
La contraseña. El valor por defecto es definido por mysql.default_password. En SQL safe mode, éste parámetro es ignorado y la contraseña vacía es usada.
Si se realiza una segunda llamada mysql_connect() con los mismos argumentos, un nuevo enlace no será establecido, en lugar, el identificador de enlace del enlace ya abierto será devuelto. El parámetro new_link modifica éste comportamiento y crea mysql_connect() siempre un nuevo enlace abierto, aun si mysql_connect() fue llamada antes con los mismos parámetros. En SQL safe mode, éste parámetro es ignorado.
El parámetro client_flags puede ser una combinación de las siguientes constantes: 128 (permiten LOAD DATA LOCAL manejo), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE o MYSQL_CLIENT_INTERACTIVE. Lea la sección acerca de MySQL client constants para más información. En SQL safe mode, éste parámetro es ignorado.
Devuelve un identificador de enlace a MySQL en caso de éxito o FALSE en caso de error.
Versión | Descripción |
---|---|
4.3.0 | Añadido el parámetro client_flags. |
4.2.0 | Añadido el parámetro new_link. |
Example #1 Ejemplo de mysql_connect()
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($link);
?>
Example #2 Ejemplo usando la sintaxis hostname:port de mysql_connect()
<?php
// nos conectamos a example.com y al puerto 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($link);
// nos conectamos a example.com y al puerto 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($link);
?>
Example #3 mysql_connect()ejemplo usando la sintaxis ":/path/to/socket"
<?php
// nos conectamos a localhost y a la toma ej. /tmp/mysql.sock
// variante 1: omitir el localhost
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($link);
// variante 2: con localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($link);
?>
Note:
Siempre que se especifique a "localhost" o "localhost:port" como servidor, la biblioteca de MySQL del cliente invalidara esto y intentara conectarse a una toma local (llamada tubería en Windows). Si tu quieres usar TCP/IP, usa "127.0.0.1" en lugar de "localhost". Si la biblioteca de MySQL del cliente intenta conectar a una incorrecta toma local, deberías colocar una ruta correcta como en tu configuración de PHP y dejando el campo del servidor en blanco.
Note:
El enlace al servidor se cerrara tan pronto finalice la ejecución del script, a menos que se cierre antes por una llamada explicita a mysql_close().
Note:
Se Puede suprimir los mensajes de error en caso de fallo anteponiendo un @ a la función del nombre.
Note:
El error "Can't create TCP/IP socket (10106)" usualmente significa que la variables_order configuración directiva no contiene carácter E. En Windows, si el ambiente no es copiado la variable SYSTEMROOT de ambiente no va a estar disponible y el PHP tendrá problemas de carga con la toma de Windows.