MySQL and PHP

3.8.33 mysqli::options, mysqli_options

Copyright 1997-2021 the PHP Documentation Group.

Description

Object oriented style

public bool mysqli::options(int option,
                            mixed value);

Procedural style

bool mysqli_options(mysqli link,
                    int option,
                    mixed value);

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:

Table 3.10 Valid options

NameDescription
MYSQLI_OPT_CONNECT_TIMEOUTConnection timeout in seconds
MYSQLI_OPT_READ_TIMEOUTCommand execution result timeout in seconds. Available as of PHP 7.2.0.
MYSQLI_OPT_LOCAL_INFILEEnable/disable use of LOAD LOCAL INFILE
MYSQLI_INIT_COMMANDCommand to execute after when connecting to MySQL server
MYSQLI_SET_CHARSET_NAMEThe charset to be set as default.
MYSQLI_READ_DEFAULT_FILERead options from named option file instead of my.cnf Not supported by mysqlnd.
MYSQLI_READ_DEFAULT_GROUPRead options from the named group from my.cnf or the file specified with MYSQL_READ_DEFAULT_FILE. Not supported by mysqlnd.
MYSQLI_SERVER_PUBLIC_KEYRSA public key file used with the SHA-256 based authentication.
MYSQLI_OPT_NET_CMD_BUFFER_SIZEThe size of the internal command/network buffer. Only valid for mysqlnd.
MYSQLI_OPT_NET_READ_BUFFER_SIZEMaximum read chunk size in bytes when reading the body of a MySQL command packet. Only valid for mysqlnd.
MYSQLI_OPT_INT_AND_FLOAT_NATIVEConvert integer and float columns back to PHP numbers. Only valid for mysqlnd.
MYSQLI_OPT_SSL_VERIFY_SERVER_CERTWhether to verify server certificate or not.


value

The value for the option.

Return Values

Returns true on success or false on failure.

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
mysqli_real_connect