mysql_real_connect的声明:
MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag)
以下是官网的解释,其中对于NULL,empty string,empty string("")之间的区间需要格外注意:
If unix_socket is not NULL, the string specifies the socket or named pipe to use. Note that the host parameter determines the type of the connection.
in the mysql_real_connect() call, specify the “no-value” value for each parameter to be read from an option file:
-
For host, specify a value of NULL or the empty string ("").
-
For user, specify a value of NULL or the empty string.
-
For passwd, specify a value of NULL. (For the password, a value of the empty string in the mysql_real_connect() call cannot be overridden in an option file, because the empty string indicates explicitly that the MySQL account must have an empty password.)
-
For db, specify a value of NULL or the empty string.
-
For port, specify a value of 0.
-
For unix_socket, specify a value of NULL.
If no value is found in an option file for a parameter, its default value is used as indicated in the descriptions given earlier in this section.
本文转自 XDATAPLUS 51CTO博客,原文链接:http://blog.51cto.com/xdataplus/1893422