mysql_real_connect()
MYSQL *mysql_real_connect(MYSQL *mysql, const char *host,
const char *user, const char *password,
const char *user, const char *password,
const char *database, uint port,
const char *user, const char *password,
const char *database, uint port,
const char *unix_socket, uint flag)Use this to establish a connection to a MySQL server. The
MYSQL structure created by
mysql_init() is given as the first argument
to the function. The hostname, username, and user’s password for
connecting to the server are given next. The name of the database is
given as the fifth argument. The port, the socket file path and name
for Unix systems, and any client flags are given as the sixth,
seventh, and eighth arguments, respectively. For any parameter
requiring a char pointer, a value of NULL may be
given to instruct the server to use the default setting. For
unsigned int variables, a value of 0 may be given
to rely on the default value. Here is an example:
#include <stdio.h>
#include <stdlib.h>
#include <mysql/mysql.h>
int main(void)
{
MYSQL *mysql;
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL_FIELD *field;
const char *host = "localhost";
const char *user = "root";
const char *password = "my_password";
const char *database = "workrequests";
unsigned int port = 3306;
const char *socket = NULL;
unsigned long flag = 0;
int i, num_fields;
mysql = mysql_init(NULL);
mysql_real_connect(mysql,host,user,password,database,
port,socket,flag);
const char *sql_stmnt = "SELECT * FROM stores";
ulong bytes = strlen(sql_stmnt);
mysql_real_query(mysql, sql_stmnt, bytes);
result = mysql_store_result(mysql);
num_fields = mysql_field_count(mysql);
while((row = mysql_fetch_row(result)) != NULL)
{
for(i = 0; i < num_fields; i++)
{ printf("%s, ", row[i]); }
printf("\n");
}
mysql_free_result(result);
mysql_close(mysql);
return 0;
}This example is fairly complete. Each variable is declared at
the beginning based on the type called for by the function, along with
its respective values. Without having to disconnect and reconnect, you
can change the database using the
mysql_select_db() function.