Resource Types
MysqlndUhConnection
mysqlnd_uh
PHP Manual

# Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

Most of the constants refer to details of the MySQL Client Server Protocol. Please, refer to the MySQL reference manual to learn about their meaning. To avoid content duplication, only short descriptions are given.

MysqlndUhConnection::simpleCommand() related

The following constants can be used to detect what command is to be send through MysqlndUhConnection::simpleCommand().

`MYSQLND_UH_MYSQLND_COM_SLEEP` (integer)
  MySQL Client Server protocol command: COM_SLEEP.
`MYSQLND_UH_MYSQLND_COM_QUIT` (integer)
  MySQL Client Server protocol command: COM_QUIT.
`MYSQLND_UH_MYSQLND_COM_INIT_DB` (integer)
  MySQL Client Server protocol command: COM_INIT_DB.
`MYSQLND_UH_MYSQLND_COM_QUERY` (integer)
  MySQL Client Server protocol command: COM_QUERY.
`MYSQLND_UH_MYSQLND_COM_FIELD_LIST` (integer)
  MySQL Client Server protocol command: COM_FIELD_LIST.
`MYSQLND_UH_MYSQLND_COM_CREATE_DB` (integer)
  MySQL Client Server protocol command: COM_CREATE_DB.
`MYSQLND_UH_MYSQLND_COM_DROP_DB` (integer)
  MySQL Client Server protocol command: COM_DROP_DB.
`MYSQLND_UH_MYSQLND_COM_REFRESH` (integer)
  MySQL Client Server protocol command: COM_REFRESH.
`MYSQLND_UH_MYSQLND_COM_SHUTDOWN` (integer)
  MySQL Client Server protocol command: COM_SHUTDOWN.
`MYSQLND_UH_MYSQLND_COM_STATISTICS` (integer)
  MySQL Client Server protocol command: COM_STATISTICS.
`MYSQLND_UH_MYSQLND_COM_PROCESS_INFO` (integer)
  MySQL Client Server protocol command: COM_PROCESS_INFO.
`MYSQLND_UH_MYSQLND_COM_CONNECT` (integer)
  MySQL Client Server protocol command: COM_CONNECT.
`MYSQLND_UH_MYSQLND_COM_PROCESS_KILL` (integer)
  MySQL Client Server protocol command: COM_PROCESS_KILL.
`MYSQLND_UH_MYSQLND_COM_DEBUG` (integer)
  MySQL Client Server protocol command: COM_DEBUG.
`MYSQLND_UH_MYSQLND_COM_PING` (integer)
  MySQL Client Server protocol command: COM_PING.
`MYSQLND_UH_MYSQLND_COM_TIME` (integer)
  MySQL Client Server protocol command: COM_TIME.
`MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT` (integer)
  MySQL Client Server protocol command: COM_DELAYED_INSERT.
`MYSQLND_UH_MYSQLND_COM_CHANGE_USER` (integer)
  MySQL Client Server protocol command: COM_CHANGE_USER.
`MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP` (integer)
  MySQL Client Server protocol command: COM_BINLOG_DUMP.
`MYSQLND_UH_MYSQLND_COM_TABLE_DUMP` (integer)
  MySQL Client Server protocol command: COM_TABLE_DUMP.
`MYSQLND_UH_MYSQLND_COM_CONNECT_OUT` (integer)
  MySQL Client Server protocol command: COM_CONNECT_OUT.
`MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED` (integer)
  MySQL Client Server protocol command: COM_REGISTER_SLAVED.
`MYSQLND_UH_MYSQLND_COM_STMT_PREPARE` (integer)
  MySQL Client Server protocol command: COM_STMT_PREPARE.
`MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE` (integer)
  MySQL Client Server protocol command: COM_STMT_EXECUTE.
`MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA` (integer)
  MySQL Client Server protocol command: COM_STMT_SEND_LONG_DATA.
`MYSQLND_UH_MYSQLND_COM_STMT_CLOSE` (integer)
  MySQL Client Server protocol command: COM_STMT_CLOSE.
`MYSQLND_UH_MYSQLND_COM_STMT_RESET` (integer)
  MySQL Client Server protocol command: COM_STMT_RESET.
`MYSQLND_UH_MYSQLND_COM_SET_OPTION` (integer)
  MySQL Client Server protocol command: COM_SET_OPTION.
`MYSQLND_UH_MYSQLND_COM_STMT_FETCH` (integer)
  MySQL Client Server protocol command: COM_STMT_FETCH.
`MYSQLND_UH_MYSQLND_COM_DAEMON` (integer)
  MySQL Client Server protocol command: COM_DAEMON.
`MYSQLND_UH_MYSQLND_COM_END` (integer)
  MySQL Client Server protocol command: COM_END.

The following constants can be used to analyze the ok_packet argument of MysqlndUhConnection::simpleCommand().

`MYSQLND_UH_MYSQLND_PROT_GREET_PACKET` (integer)
  MySQL Client Server protocol packet: greeting.
`MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET` (integer)
  MySQL Client Server protocol packet: authentication.
`MYSQLND_UH_MYSQLND_PROT_OK_PACKET` (integer)
  MySQL Client Server protocol packet: OK.
`MYSQLND_UH_MYSQLND_PROT_EOF_PACKET` (integer)
  MySQL Client Server protocol packet: EOF.
`MYSQLND_UH_MYSQLND_PROT_CMD_PACKET` (integer)
  MySQL Client Server protocol packet: command.
`MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET` (integer)
  MySQL Client Server protocol packet: result set header.
`MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET` (integer)
  MySQL Client Server protocol packet: resultset field.
`MYSQLND_UH_MYSQLND_PROT_ROW_PACKET` (integer)
  MySQL Client Server protocol packet: row.
`MYSQLND_UH_MYSQLND_PROT_STATS_PACKET` (integer)
  MySQL Client Server protocol packet: stats.
`MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET` (integer)
  MySQL Client Server protocol packet: prepare response.
`MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET` (integer)
  MySQL Client Server protocol packet: change user response.
`MYSQLND_UH_MYSQLND_PROT_LAST` (integer)
  No practical meaning. Last entry marker of internal C data structure list.

MysqlndUhConnection::close() related

The following constants can be used to detect why a connection has been closed through MysqlndUhConnection::close().

`MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT` (integer)
  User has called mysqlnd to close the connection.
`MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT` (integer)
  Implicitly closed, for example, during garbage connection.
`MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED` (integer)
  Connection error.
`MYSQLND_UH_MYSQLND_CLOSE_LAST` (integer)
  No practical meaning. Last entry marker of internal C data structure list.

MysqlndUhConnection::setServerOption() related

The following constants can be used to detect which option is set through MysqlndUhConnection::setServerOption().

`MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON` (integer)
  Option: enables multi statement support.
`MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_OFF` (integer)
  Option: disables multi statement support.

MysqlndUhConnection::setClientOption() related

The following constants can be used to detect which option is set through MysqlndUhConnection::setClientOption().

`MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT` (integer)
  Option: connection timeout.
`MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS` (integer)
  Option: whether the MySQL compressed protocol is to be used.
`MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE` (integer)
  Option: named pipe to use for connection (Windows).
`MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND` (integer)
  Option: init command to execute upon connect.
`MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE` (integer)
  Option: MySQL server default file to read upon connect.
`MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP` (integer)
  Option: MySQL server default file group to read upon connect.
`MYSQLND_UH_MYSQLND_SET_CHARSET_DIR` (integer)
  Option: charset description files directory.
`MYSQLND_UH_MYSQLND_SET_CHARSET_NAME` (integer)
  Option: charset name.
`MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE` (integer)
  Option: Whether to allow LOAD DATA LOCAL INFILE use.
`MYSQLND_UH_MYSQLND_OPT_PROTOCOL` (integer)
  Option: supported protocol version.
`MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME` (integer)
  Option: shared memory base name for shared memory connections.
`MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT` (integer)
  Option: connection read timeout.
`MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT` (integer)
  Option: connection write timeout.
`MYSQLND_UH_MYSQLND_OPT_USE_RESULT` (integer)
  Option: unbuffered result sets.
`MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION` (integer)
  Embedded server related.
`MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION` (integer)
  Embedded server related.
`MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION` (integer)
  TODO
`MYSQLND_UH_MYSQLND_SET_CLIENT_IP` (integer)
  TODO
`MYSQLND_UH_MYSQLND_SECURE_AUTH` (integer)
  TODO
`MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION` (integer)
  Option: Whether to report data truncation.
`MYSQLND_UH_MYSQLND_OPT_RECONNECT` (integer)
  Option: Whether to reconnect automatically.
`MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT` (integer)
  Option: TODO
`MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE` (integer)
  Option: mysqlnd network buffer size for commands.
`MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE` (integer)
  Option: mysqlnd network buffer size for reading from the server.
`MYSQLND_UH_MYSQLND_OPT_SSL_KEY` (integer)
  Option: SSL key.
`MYSQLND_UH_MYSQLND_OPT_SSL_CERT` (integer)
  Option: SSL certificate.
`MYSQLND_UH_MYSQLND_OPT_SSL_CA` (integer)
  Option: SSL CA.
`MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH` (integer)
  Option: Path to SSL CA.
`MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER` (integer)
  Option: SSL cipher.
`MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE` (integer)
  Option: SSL passphrase.
`MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR` (integer)
  Option: server plugin directory.
`MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH` (integer)
  Option: default authentication method.
`MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP` (integer)
  TODO
`MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET` (integer)
  Option: maximum allowed packet size. Available as of PHP 5.4.0.
`MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL` (integer)
  Option: TODO. Available as of PHP 5.4.0.
`MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE` (integer)
  Option: make mysqlnd return integer and float columns as long even when using the MySQL Client Server text protocol. Only available with a custom build of mysqlnd.

Other

The plugins version number can be obtained using `MYSQLND_UH_VERSION` or `MYSQLND_UH_VERSION_ID`. `MYSQLND_UH_VERSION` is the string representation of the numerical version number `MYSQLND_UH_VERSION_ID`, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
--- | ---
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
`MYSQLND_UH_VERSION_ID` | 10000

`MYSQLND_UH_VERSION` (string)
  Plugin version string, for example, "1.0.0-alpha".
`MYSQLND_UH_VERSION_ID` (integer)
  Plugin version number, for example, 10000.

Resource Types
MysqlndUhConnection
mysqlnd_uh
PHP Manual