Documentation Home
MySQL 5.7 C API Developer Guide
Download this Manual
PDF (US Ltr) - 1.1Mb
PDF (A4) - 1.1Mb


5.4.37 mysql_init()

MYSQL *mysql_init(MYSQL *mysql)

Description

Allocates or initializes aMYSQL object suitable formysql_real_connect(). Ifmysql is aNULL pointer, the function allocates, initializes, and returns a new object. Otherwise, the object is initialized and the address of the object is returned. Ifmysql_init() allocates a new object, it is freed whenmysql_close() is called to close the connection.

In a nonmultithreaded environment,mysql_init() invokesmysql_library_init() automatically as necessary. However,mysql_library_init() is not thread-safe in a multithreaded environment, and thus neither ismysql_init(). Before callingmysql_init(), either callmysql_library_init() prior to spawning any threads, or use a mutex to protect themysql_library_init() call. This should be done prior to any other client library call.

Return Values

An initializedMYSQL* handler.NULL if there was insufficient memory to allocate a new object.

Errors

In case of insufficient memory,NULL is returned.