# mysqli::options

# mysqli_options

(PHP 5, PHP 7)

mysqli::options -- mysqli_options — Set options

### Description

Object oriented style

mysqli::options ( int `$option` , mixed `$value` ) : bool

Procedural style

mysqli_options ( mysqli `$link` , int `$option` , mixed `$value` ) : bool

Used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

mysqli_options() should be called after mysqli_init() and before mysqli_real_connect().

### Parameters

`link`

  Procedural style only: A link identifier returned by mysqli_connect() or mysqli_init()

`option`

  The option that you want to set. It can be one of the following values:

  Valid options
  Name | Description
  --- | ---
  `MYSQLI_OPT_CONNECT_TIMEOUT` | connection timeout in seconds (supported on Windows with TCP/IP since PHP 5.3.1)
  `MYSQLI_OPT_LOCAL_INFILE` | enable/disable use of LOAD LOCAL INFILE
  `MYSQLI_INIT_COMMAND` | command to execute after when connecting to MySQL server
  `MYSQLI_READ_DEFAULT_FILE` | Read options from named option file instead of my.cnf
  `MYSQLI_READ_DEFAULT_GROUP` | Read options from the named group from my.cnf or the file specified with `MYSQL_READ_DEFAULT_FILE`.
  `MYSQLI_SERVER_PUBLIC_KEY` | RSA public key file used with the SHA-256 based authentication.
  `MYSQLI_OPT_NET_CMD_BUFFER_SIZE` | The size of the internal command/network buffer. Only valid for mysqlnd.
  `MYSQLI_OPT_NET_READ_BUFFER_SIZE` | Maximum read chunk size in bytes when reading the body of a MySQL command packet. Only valid for mysqlnd.
  `MYSQLI_OPT_INT_AND_FLOAT_NATIVE` | Convert integer and float columns back to PHP numbers. Only valid for mysqlnd.
  `MYSQLI_OPT_SSL_VERIFY_SERVER_CERT` |

`value`

  The value for the option.

### Return Values

Returns `TRUE` on success or `FALSE` on failure.

### Changelog

Version | Description
--- | ---
5.5.0 | The `MYSQLI_SERVER_PUBLIC_KEY` and `MYSQLI_SERVER_PUBLIC_KEY` options were added.
5.3.0 | The `MYSQLI_OPT_INT_AND_FLOAT_NATIVE`, `MYSQLI_OPT_NET_CMD_BUFFER_SIZE`, `MYSQLI_OPT_NET_READ_BUFFER_SIZE`, and `MYSQLI_OPT_SSL_VERIFY_SERVER_CERT` options were added.

### Examples

See mysqli_real_connect().

### Notes

> Note:

> MySQLnd always assumes the server default charset. This charset is sent during connection hand-shake/authentication, which mysqlnd will use.

> Libmysqlclient uses the default charset set in the my.cnf or by an explicit call to mysqli_options() prior to calling mysqli_real_connect(), but after mysqli_init().

### See Also

- mysqli_init() - Initializes MySQLi and returns a resource for use with mysqli_real_connect()
- mysqli_real_connect() - Opens a connection to a mysql server