Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.1Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


23.8.7.7 mysql_connect()

MYSQL *mysql_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd)

説明

この関数は非推奨です。代わりに mysql_real_connect() を使用します。

mysql_connect()ホストで実行している MySQL データベースエンジンへの接続を確立します。mysql_connect() は、mysql_get_client_info() を除き、ほかのすべての API 関数を実行する前に正常に完了している必要があります。

パラメータの意味は、接続パラメータを NULL にできることを除き、mysql_real_connect() の対応するパラメータの場合と同じです。この場合、C API は、自動的に接続構造にメモリーを割り当て、mysql_close() が呼び出されると、それを解放します。このアプローチの短所は、接続が失敗した場合にエラーメッセージを取得できないことです。(mysql_errno() または mysql_error() から、エラー情報を得るには、有効な MYSQL ポインタを提供する必要があります。)

戻り値

mysql_real_connect() の場合と同じ。

エラー

mysql_real_connect() の場合と同じ。


User Comments
  Posted by Ingo Tomahogh on December 9, 2004
If you need to compile old programs still using this function, you might want to add the following macro definition to your programs (possibly via the compiler's command line) so you needn't change all calls to mysql_connect() :

#define mysql_connect(m,h,u,p) mysql_real_connect((m),(h),(u),(p),NULL,0,NULL,0)

You should also make sure the MYSQL pointer is never NULL in these calls, though.
  Posted by David Phillips on February 9, 2005
In response to the mysql_connect() macro, also make sure to call mysql_init() before using it. You didn't need to (or at least it worked) with older versions of the library. You will immediately crash if you don't.
  Posted by Svyatoslav Kovalsky on May 25, 2006
Since mysql_connect(...) can take NULL or uninitialized MYSQL structure as first parameter, it would be better to use following code to make old programs work:

MYSQL * subst_mysql_connect(MYSQL * mysql, const char *host, const char *user, const char *passwd)
{
MYSQL * mysql_handle;

mysql_handle=mysql_init(mysql);
return mysql_real_connect(mysql_handle,host,user,passwd,NULL,0,NULL,0);
}

#define mysql_connect(m,h,u,p) subst_mysql_connect((m),(h),(u),(p))

Sign Up Login You must be logged in to post a comment.