mysqli->connect_error
mysqli::debug
MySQLi
PHP Manual

# mysqli::__construct

# mysqli_connect

(PHP 5)

mysqli::__construct -- mysqli_connect — Open a new connection to the MySQL server

### Description

Object oriented style (constructor):

mysqli::__construct ([ string `$host` [, string `$username` [, string `$passwd` [, string `$dbname` [, int `$port` [, string `$socket` ]]]]]] )

Procedural style

mysqli mysqli_connect ([ string `$host` [, string `$username` [, string `$passwd` [, string `$dbname` [, int `$port` [, string `$socket` ]]]]]] )

Opens a connection to the MySQL Server running on.

### Parameters

`host`

  Can be either a host name or an IP address. Passing the `NULL` value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

`username`

  The MySQL user name.

`passwd`

  If not provided or `NULL`, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

`dbname`

  If provided will specify the default database to be used when performing queries.

`port`

  Specifies the port number to attempt to connect to the MySQL server.

`socket`

  Specifies the socket or named pipe that should be used.

  > Note: Specifying the `socket` parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the `host` parameter.

### Return Values

Returns a object which represents the connection to a MySQL Server.

### Examples

Example #1 Object oriented style

`<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if ($mysqli->connect_error) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf("Host information: %s\n", $mysqli->host_info);
/* close connection */
$mysqli->close();
?>`

Example #2 Procedural style

`<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf("Host information: %s\n", mysqli_get_host_info($link));
/* close connection */
mysqli_close($link);
?>`

The above example will output:

    Host information: Localhost via UNIX socket

### Notes

> Note: OO syntax only: If a connection fails an object is still returned. To check if the connection failed then use the mysqli->connect_error property like in the examples above.

> Note: Error "Can't create TCP/IP socket (10106)" usually means that the variables_order configure directive doesn't contain character E. On Windows, if the environment is not copied the SYSTEMROOT environment variable won't be available and PHP will have problems loading Winsock.

mysqli->connect_error
mysqli::debug
MySQLi
PHP Manual