最近在找关于mysql_ping的用法,偶尔发现好多中文翻译过来的网页上面的东西与英文版的相差太大,而且与自己测试的结果也大相径庭,所以小弟花一些时间去翻译一下英文版,以供大家参考。
但一些网页上看到数据库连接正常时返回TRUE,反之返回FALSE,在MFC里TRUE的值是1,非0;而在MYSQL官方网站上(http://dev.mysql.com/doc/refman/5.0/en/mysql-ping.html)则不是这样定义的,返回非0值则意味着有错误发生。下面是从链接中的英文翻译过来的。
int mysql_ping(MYSQL *mysql)
描述:
检查与服务端的连接是否正常。连接断开时,如果自动重新连接功能未被禁用,则尝试重新连接服务器。
该函数可被客户端用来检测闲置许久以后,与服务端的连接是否关闭,如有需要,则重新连接。
返回值
连接正常,返回0;如有错误发生,则返回非0值。返回非0值并不意味着服务器本身关闭掉,也有可能是网络原因导致网络不通。
错误
CR_COMMANDS_OUT_OF_SYNC
-
命令以不正确的顺序执行
-
CR_SERVER_GONE_ERROR
-
服务器连接断开
-
CR_UNKNOWN_ERROR