C API Function Descriptions
2174
20.6.6.50.
mysql_ping()
int mysql_ping(MYSQL *mysql)
Description
Checks whether the connection to the server is working. If the connection has gone down and auto-
reconnect is enabled an attempt to reconnect is made. If the connection is down and auto-reconnect is
disabled,
mysql_ping()
returns an error.
Auto-reconnect is enabled by default before MySQL 5.0.3 and enabled from 5.0.3 on. To enable
auto-connect, call
mysql_options()
with the
MYSQL_OPT_RECONNECT
option. For details, see
Section 20.6.6.49, “
mysql_options()
”
.
mysql_ping()
can be used by clients that remain idle for a long while, to check whether the server
has closed the connection and reconnect if necessary.
If
mysql_ping()
) does cause a reconnect, there is no explicit indication of it. To determine whether
a reconnect occurs, call
mysql_thread_id()
to get the original connection identifier before calling
mysql_ping()
, then call
mysql_thread_id()
again to see whether the identifier has changed.
If reconnect occurs, some characteristics of the connection will have been reset. For details about
these characteristics, see
Section 20.6.14, “Controlling Automatic Reconnection Behavior”
.
Return Values
Zero if the connection to the server is active. Nonzero if an error occurred. A nonzero return does not
indicate whether the MySQL server itself is down; the connection might be broken for other reasons
such as network problems.
Errors
•
CR_COMMANDS_OUT_OF_SYNC
[2942]
Commands were executed in an improper order.
•
CR_SERVER_GONE_ERROR
[2942]
The MySQL server has gone away.
•
CR_UNKNOWN_ERROR
[2941]
An unknown error occurred.
20.6.6.51.
mysql_query()
int mysql_query(MYSQL *mysql, const char *stmt_str)
Description
Executes the SQL statement pointed to by the null-terminated string
stmt_str
. Normally, the string
must consist of a single SQL statement without a terminating semicolon (“
;
”) or
\g
. If multiple-
statement execution has been enabled, the string can contain several statements separated by
semicolons. See
Section 20.6.15, “C API Support for Multiple Statement Execution”
.
mysql_query()
cannot be used for statements that contain binary data; you must use
mysql_real_query()
instead. (Binary data may contain the “
\0
” character, which
mysql_query()
interprets as the end of the statement string.)
If you want to know whether the statement should return a result set, you can use
mysql_field_count()
to check for this. See
Section 20.6.6.22, “
mysql_field_count()
”
.
Summary of Contents for 5.0
Page 1: ...MySQL 5 0 Reference Manual ...
Page 18: ...xviii ...
Page 60: ...40 ...
Page 396: ...376 ...
Page 578: ...558 ...
Page 636: ...616 ...
Page 844: ...824 ...
Page 1234: ...1214 ...
Page 1427: ...MySQL Proxy Scripting 1407 ...
Page 1734: ...1714 ...
Page 1752: ...1732 ...
Page 1783: ...Configuring Connector ODBC 1763 ...
Page 1793: ...Connector ODBC Examples 1773 ...
Page 1839: ...Connector Net Installation 1819 2 You must choose the type of installation to perform ...
Page 2850: ...2830 ...
Page 2854: ...2834 ...
Page 2928: ...2908 ...
Page 3000: ...2980 ...
Page 3122: ...3102 ...
Page 3126: ...3106 ...
Page 3174: ...3154 ...
Page 3232: ...3212 ...