_elf Posted August 28, 2006 at 03:34 AM Report Share #46833 Posted August 28, 2006 at 03:34 AM Boas, Tive a necessidade de utilizar o mysql num programa feito em C e andei à procura e encontrei este site que me ajudou imenso. Tenham em atenção que é necessario uma biblioteca que vem com o MySQL e também na compilação do programa visto ser preciso usar a tag -lmysqlclient. http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=316 Deixo aqui o código que interessa mas leiam o site que explica melhor: #include <stdio.h> #include <mysql/mysql.h> #define HOST "localhost" #define USER "guest" #define PASS "guest" #define DB "teste" int main(void) { MYSQL conexao; MYSQL_RES *resp; MYSQL_ROW linhas; MYSQL_FIELD *campos; char query[]="SELECT * FROM aprendendo;"; int conta; //Contador comum mysql_init(&conexao); if (mysql_real_connect(&conexao,HOST,USER,PASS,DB,0,NULL,0)) { printf("Conectado com Sucesso!\n"); if (mysql_query(&conexao,query)) printf("Erro: %s\n",mysql_error(&conexao)); else { resp = mysql_store_result(&conexao);//recebe a consulta if (resp) //se houver consulta { //passa os dados dos campos para a variável campos //escreve na tela os nomes dos campos dando //um tab somente campos = mysql_fetch_fields(resp); for (conta=0;conta<mysql_num_fields(resp);conta++) { printf("%s",(campos[conta]).name); if (mysql_num_fields(resp)>1) printf("\t"); } printf("\n"); //enquanto retonrnar registros, conta até o //número de colunas que a tabela tem e escreve na //tela com um tab, depois pula a linha e tenta //pegar outro registro while ((linhas=mysql_fetch_row(resp)) != NULL) { for (conta=0;conta<mysql_num_fields(resp);conta++) printf("%s\t",linhas[conta]); printf("\n"); } } mysql_free_result(resp);//limpa a variável do resultado: resp } mysql_close(&conexao); } else { printf("Conexao Falhou\n"); if (mysql_errno(&conexao)) printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao)); } return 0; } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now