mysql_real_connect — Establish a connection to database server

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 flags);

Establishes a connection to a database server.

Parameters

mysql

A mysql handle, which was previously allocated by mysql_init() or mysql_real_connect().

host

Can be either a host name or an IP address. Passing the NULL value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protoco

user

The user name

passwd

If provided or NULL, the server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

db

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the server.

unix_socket

Specifies the socket or named pipe that should be used.

flags

The flags allows to set various connection options:

CLIENT_FOUND_ROWS

Return the number of matched rows instead of number of changed rows.

CLIENT_NO_SCHEMA

Forbids the use of database.tablename.column syntax and forces the SQL parser to generate an error.

CLIENT_COMPRESS

Use compression protocol

CLIENT_IGNORE_SPACE

This option makes all function names reserved words.

CLIENT_LOCAL_FILES

Use compression protocol

CLIENT_MULTI_STATEMENTS

Allows the client to send multiple statements in one command. Statements will be divided by a semicolon.

CLIENT_MULTI_RESULTS

Indicates that the client is able to handle multiple result sets from stored procedures or multi statements. This option will be automatically set if CLIENT_MULTIO_STATEMENTS is set.

Return value

A MYSQL * handle or NULL if an error occured.

[Note]

The password doesn't need to be encrypted before executing mysql_real_connect() this will be handled in the client server protocol.

See also

mysql_init(), mysql_options()