mysql (client)
mysql-devel
A compilação de programas com acesso a bibliotecas do MySQL necessitam de alguns parâmetros especiais. Estes parâmetros podem ser obtidos através da execução do script 'mysql_config' que faz parte do pacote mysql-devel. Para compilar o programa, usar a seguinte sintaxe:
gcc -o <output> $(mysql_config --cflags) <fonte.c> $(mysql_config --libs)
exemplo:
gcc -o consulta_mysql $(mysql_config --cflags) consulta_mysql.c $(mysql_config --libs)
Exemplo de programa para conexão ao MySQL
#include <mysql/mysql.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
MYSQL *conexao;
MYSQL_RES *res;
MYSQL_ROW linhas;
MYSQL_FIELD *campos;
char query[]="select * from <tabela>;";
int i;
char *server = "<servidor>";
char *user = "<usuario>";
char *password = "<senha>";
char *database = "<banco>";
unsigned int port = <porta>;
conexao = mysql_init(NULL);
/* Connect to database */
if (!mysql_real_connect(conexao, server,
user, password, database, port, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conexao));
exit(EXIT_FAILURE);
}
/* send SQL query */
if (mysql_query(conexao, query)) {
fprintf(stderr, "%s\n", mysql_error(conexao));
exit(EXIT_FAILURE);
}
res = mysql_store_result(conexao);
if (res)
{
campos = mysql_fetch_fields(res);
for (i=0; i < mysql_num_fields(res); i++)
{
printf("%s", (campos[i]).name);
if (mysql_num_fields(res) > 1)
printf("\t");
}
printf("\n");
while ((linhas = mysql_fetch_row(res)) != NULL)
{
for (i=0; i < mysql_num_fields(res); i++)
printf("%s\t", linhas[i]);
printf("\n");
}
}
/* close connection */
mysql_free_result(res);
mysql_close(conexao);
}
Nenhum comentário:
Postar um comentário