mysqli::__construct
En esta página
mysqli::__construct
mysqli::connect
mysqli_connect
Abre una conexión a un servidor MySQL
Descripción#
Estilo orientado a objetos
public #[\SensitiveParameter] mysqli::__construct([string $hostname], [string $username], [string $password], [string $database], [int $port], [string $socket])
```php
```php
public #[\SensitiveParameter] mysqli::connect([string $hostname], [string $username], [string $password], [string $database], [int $port], [string $socket]): bool
Estilo procedimental
#[\SensitiveParameter] mysqli_connect([string $hostname], [string $username], [string $password], [string $database], [int $port], [string $socket]): mysqli
```php
Abre una conexión al servidor MySQL.
## Parámetros
`hostname`
Puede ser un nombre de host o una dirección IP. Al pasar `null`, el valor se recupera desde [mysqli.default_host](#ini.mysqli.default-host). Si es posible, se utilizarán pipes en lugar del protocolo TCP/IP. El protocolo TCP/IP se utiliza si se proporciona un nombre de host y un número de puerto juntos, por ejemplo `localhost:3308`.
Prefijar el host con `p:` abre una conexión persistente. `mysqli_change_user` se llama automáticamente en las conexiones que se utilizan en el grupo de conexiones.
`username`
El nombre de usuario MySQL o `null` para asumir el nombre de usuario según la opción ini [mysqli.default_user](#ini.mysqli.default-user).
`password`
La contraseña MySQL o `null` para asumir la contraseña basándose en la opción ini [mysqli.default_pw](#ini.mysqli.default-pw).
`database`
La base de datos predeterminada a utilizar al ejecutar consultas o `null`.
`port`
El número de puerto al que intentar conectarse al servidor MySQL o `null` para asumir el puerto según la opción ini [mysqli.default_port](#ini.mysqli.default-port).
`socket`
El socket o el pipe nombrado que debe utilizarse, o `null` para asumir el socket según la opción ini [mysqli.default_socket](#ini.mysqli.default-socket).
> [!NOTE]
> Especificar el parámetro `socket` no determinará explícitamente el tipo de conexión que se utilizará al conectarse al servidor MySQL. Esto está determinado por el parámetro `hostname`.
## Valores devueltos
mysqli::\_\_construct siempre devuelve un objeto que representa la conexión a un servidor MySQL, incluso si la conexión ha fallado.
`mysqli_connect` devuelve un objeto que representa la conexión al servidor MySQL, o `false` si ocurre un error.
mysqli::connect devuelve `true` en caso de éxito o `false` si ocurre un error. Anterior a PHP 8.1.0, devuelve `null` en caso de éxito.
## Errores/Excepciones
Si el informe de errores de mysqli está habilitado (`MYSQLI_REPORT_ERROR`) y la operación solicitada falla, se genera una advertencia. Si, además, el modo está configurado como `MYSQLI_REPORT_STRICT`, se lanza una `mysqli_sql_exception` en su lugar.
## Historial de cambios
| Versión | Descripción |
|----|----|
| 8.1.0 | mysqli::connect ahora devuelve `true` en lugar de `null` en caso de éxito. |
| 7.4.0 | Todos los parámetros ahora son nullable. |
## Ejemplos
Ejemplo mysqli::\_\_construct
Estilo orientado a objetos
Estilo procedimental
Los ejemplos anteriores mostrarán algo similar a:
Éxito... localhost via TCP/IP
Extender la clase mysqli
Manejo manual de errores
Si el informe de errores está desactivado, el desarrollador es responsable de verificar y manejar los fallos
Estilo orientado a objetos
Estilo procedimental