27.7.6.30 mysql_get_option()

int mysql_get_option(MYSQL *mysql, enum mysql_option option, const void *arg)

Description

返回可使用mysql_options()设置的选项的当前值。该值应被视为只读。

option参数是您想要其值的选项。 arg参数是一个指向在其中存储选项值的变量的指针。 arg必须是指向适合option参数类型的变量的指针。下 table 显示了每个option值要使用的变量类型。

对于MYSQL_OPT_MAX_ALLOWED_PACKET,可以设置会话或全局最大缓冲区大小,具体取决于mysql_options()mysql参数是非NULL还是NULL,而mysql_get_option()则根据其mysql参数类似地返回会话或全局值。

arg类型适用的option
unsigned intMYSQL_OPT_CONNECT_TIMEOUT , MYSQL_OPT_PROTOCOL , MYSQL_OPT_READ_TIMEOUT , MYSQL_OPT_RETRY_COUNT , MYSQL_OPT_SSL_MODE , MYSQL_OPT_WRITE_TIMEOUT
unsigned longMYSQL_OPT_MAX_ALLOWED_PACKET , MYSQL_OPT_NET_BUFFER_LENGTH
my_boolMYSQL_ENABLE_CLEARTEXT_PLUGIN , MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS , MYSQL_OPT_GET_SERVER_PUBLIC_KEY , MYSQL_OPT_GUESS_CONNECTION , MYSQL_OPT_LOCAL_INFILE , MYSQL_OPT_RECONNECT , MYSQL_OPT_SSL_ENFORCE , MYSQL_OPT_SSL_VERIFY_SERVER_CERT , MYSQL_OPT_USE_EMBEDDED_CONNECTION , MYSQL_OPT_USE_REMOTE_CONNECTION , MYSQL_REPORT_DATA_TRUNCATION , MYSQL_SECURE_AUTH
const char *MYSQL_DEFAULT_AUTH , MYSQL_OPT_BIND , MYSQL_OPT_SSL_CA , MYSQL_OPT_SSL_CAPATH , MYSQL_OPT_SSL_CERT , MYSQL_OPT_SSL_CIPHER , MYSQL_OPT_SSL_CRL , MYSQL_OPT_SSL_CRLPATH , MYSQL_OPT_SSL_KEY , MYSQL_OPT_TLS_VERSION , MYSQL_PLUGIN_DIR , MYSQL_READ_DEFAULT_FILE , MYSQL_READ_DEFAULT_GROUP , MYSQL_SERVER_PUBLIC_KEY , MYSQL_SET_CHARSET_DIR , MYSQL_SET_CHARSET_NAME , MYSQL_SET_CLIENT_IP , MYSQL_SHARED_MEMORY_BASE_NAME
不使用参数MYSQL_OPT_COMPRESS
无法查询(返回错误)MYSQL_INIT_COMMAND , MYSQL_OPT_CONNECT_ATTR_DELETE , MYSQL_OPT_CONNECT_ATTR_RESET , MYSQL_OPT_NAMED_PIPE
Return Values

零成功。如果发生错误,则为非零;否则为 0.对于无法查询的option个值,会发生这种情况。

Example

以下调用测试MYSQL_OPT_RECONNECT选项。呼叫成功返回后,reconnect的值为 true 或 falsetable 示是否启用了自动重新连接。

my_bool reconnect;

if (mysql_get_option(mysql, MYSQL_OPT_RECONNECT, &reconnect))
  fprintf(stderr, "mysql_get_option() failed\n");