[1] Comentário enviado por
repolho em 08/08/2003 - 16:16h:
SHOW de bola esse tutorial era exatamente isto que estava procurando para a minha NetAgenda ;) aUHauHAU
valeus
[2] Comentário enviado por
jllucca em 09/08/2003 - 02:39h:
blz... vou postar os scripts em separado...
[3] Comentário enviado por
ic3hawk em 29/10/2003 - 17:24h:
Cara, eu não achei o mysql.h!!!!!!
[4] Comentário enviado por
jllucca em 30/10/2003 - 00:05h:
Tipo, talvez você precise instalar algum pacote pra ter a biblioteca.
Mas, tenho nem ideia de qual possa ser. Se outra pessoa souber e quiser ajudar... fico grato!
[5] Comentário enviado por
zorro em 25/11/2003 - 21:02h:
E so voce instalar o mysql-devel
apt-get install MySQL-devel
[6] Comentário enviado por
jllucca em 26/11/2003 - 11:20h:
Valeu pela contribuição, zorro! :)
Eu realmente não sabia o nome do pacote...
[7] Comentário enviado por
jllucca em 30/08/2004 - 13:43h:
Apenas pra completar, ao invés de utilizar um falor predefinido ali e sempre constante nas querys podemos criar um ponteiro para char e usar ele para montar uma query usando variaveis do proprio programa.
Ex.:
char* query;
char* tabela = "aprender";
char *nome = "Ricardo Lucca";
sprintf(query, "SELECT * from %s where nome = '%s';", tabela, nome);
É isso, ai!
Qualquer duvidas podem mandar email ainda!
[]'s
[8] Comentário enviado por
androle em 23/09/2004 - 18:34h:
Cara, muito bom!
Faz muito tempo que procuro algo como esse seu artigo. Meus parabéns!
Só para colaborar, no debian precisei instalar o libmysqlclient-dev para ter o mysql.h
Valeu!
[9] Comentário enviado por
pbetos em 16/11/2004 - 21:53h:
Muito bom.
[10] Comentário enviado por
danilolobato em 05/01/2005 - 09:51h:
Valeu cara, faz tempo que eu procurava um tutorial assim, ALGUÉM PODERIA DE INDICAR UM SITE MAIS ESPECÍFICO SOBRE O ASSUNTO?
[11] Comentário enviado por
jllucca em 05/01/2005 - 19:44h:
Site que explique conheço um que explica a mesma coisa so q em ingles. Livro tem um chamado Linux Professional muito bom, não só pra esse assunto como para outros...
[12] Comentário enviado por
Biudi em 10/01/2005 - 11:51h:
Muito bom esse seu artigo! Me ajudou bastante...estou iniciando com Linux(Conectiva 10) e tô com problemas no MySQL, encontro o seguinte erro:"checking for mysql_init in -lmysqlclient...no", tô sem saber onde encontrar esse pacote,alguém poderia por favor me ajudar?
[13] Comentário enviado por
fabiocosta em 25/01/2005 - 12:16h:
ae galera, achei muito interessante este artigo, mas fiquei com uma dúvida que ao longo do texto não consegui tirar. Como executar um código-fonte desses de conexão com mysql se eu ao menos vi uma biblioteca para isso, que no caso seria "<stdio.h>" e "<mysql/mysql.h>", enfim, gostaria de saber como faria pra acessar o mysql, como faria para possuir as bibliotecas.
[14] Comentário enviado por
hartax em 18/04/2006 - 22:18h:
Outra duvida, estou comecando agora a programar em C, pra adicionar os dados oriundos de uma variavel? como eh que faz?
[15] Comentário enviado por
removido em 20/06/2006 - 12:08h:
eu baixei o MySQL e tentei instalar no meu laptop, mas não consegui por causa de um bloqueio da Fontes de dados (ODBC). Como faço prá resolver isso ? E caso eu use o SQL Professional Edition, dá prá criar o mesmo programa nele? Qual modificação eu preciso fazer?
Valeu!!
Álvaro- Eng. de Redes de Celular
[16] Comentário enviado por
marrento em 26/07/2006 - 22:13h:
@hartax:
"pra adicionar os dados oriundos de uma variavel? como eh que faz?"
vc vai montar a string de sua query, assim:
char nome[ 80 ];
char sexo;
char sql[ 1000 ];
sprintf( sql, "insert into tabela (nome, sexo) values ('%s', '%c')", nome, sexo );
e por aí vai...
[17] Comentário enviado por
hartax em 02/08/2006 - 00:55h:
um amigo meu resolveu o meu prob com as variaveis hj ai entro aqui pra ver se alguem tinha respondido e o marrento me manda o que esse meu amigo me mandou hahaha valeuz marrento!
[18] Comentário enviado por
thiagou319 em 19/09/2006 - 15:32h:
compila certo!!!
fiquei maior tempo para descubrir!!!
gcc -o test progrma.c -lmysqlclient
./test
e pronto
[19] Comentário enviado por
lufagovi em 02/12/2006 - 03:48h:
eu tentei compilar varias vezes, mas só me da os seguintes erros...
C:\MinGW\include\mysql\mysql_com.h:175: error: `SOCKET' does not name a type
C:\MinGW\include\mysql\mysql_com.h:339: error: `SOCKET' was not declared in this scope
C:\MinGW\include\mysql\mysql_com.h:339: error: expected primary-expression before "const"
C:\MinGW\include\mysql\mysql_com.h:339: error: expected primary-expression before "unsigned"
C:\MinGW\include\mysql\mysql_com.h:340: error: expected primary-expression before "unsigned"
C:\MinGW\include\mysql\mysql_com.h:340: error: initializer expression list treated as compound expression
:: === Build finished: 6 errors, 0 warnings ===
Será que alguem pode me ajudar?
[20] Comentário enviado por
lufagovi em 02/12/2006 - 04:57h:
ops já achei... tinha que declara a windows.h ¬ ¬' antes que tudo
[21] Comentário enviado por
laurosalmito em 21/12/2006 - 11:07h:
Como faço para guardar os dados do mysql em um vetor no C?
Por exemplo:
Existindo a variavel idades[n] com todas as idades que tem no banco?
[22] Comentário enviado por
clarkmili em 09/07/2007 - 15:36h:
Excelente, este post foi mesmo muuuuuuuuito útil... estava a procura na net, mas os exemplos não são tão bem explicados como esse. Thanks
[23] Comentário enviado por
cold_feelings em 21/08/2007 - 17:20h:
Vlwwwwwwwwwwwwww, muuuuito bom esse tutorial, isso vai para minha monografia com as devidas referências ... vlw
[24] Comentário enviado por
f_Candido em 12/09/2007 - 17:28h:
Muito Bom este tutorial.
Parabéns
Abraços
[25] Comentário enviado por
netmorais em 18/06/2008 - 13:48h:
Ricardo
Sou novato em MySql. Li o seu artigo achei muito bom. Testei nu Linux e correu tudo bem. Resolvi fazer um teste análogo no Windows utilizando um de seus exemplos e estou encontrando problemas. Veja a seguir:
LINUX
$ cat teste.c
#include <stdio.h>
#include <mysql/mysql.h>
main(void)
{
MYSQL conexao;
mysql_init(&conexao);
mysql_real_connect(&conexao, "localhost", "guest", "guest", "teste", 0, NULL, 0);
printf("conectado com sucesso!\n");
mysql_close(&conexao);
}
$ gcc teste.c -l mysqlclient ; mv a.out teste.exe
$ teste.exe
conectado com sucesso!
WINDOWS
com Gcc do MinGW, MySQL 5.0 e a pasta .../mysql/* em /mingw/include/mysql ocorrem os seguintes erros durante a complilação:
$ gcc teste.c -l mysqlclient
In file included from /mingw/include/mysql/mysql.h:72, from teste.c:2:
/mingw/include/mysql/mysql_com.h:183: parse error before "SOCKET"
/mingw/include/mysql/mysql_com.h:222: parse error before '}' token
/mingw/include/mysql/mysql_com.h:335: parse error before '*' token
/mingw/include/mysql/mysql_com.h:336: parse error before '*' token
/mingw/include/mysql/mysql_com.h:337: parse error before '*' token
/mingw/include/mysql/mysql_com.h:338: parse error before '*' token
/mingw/include/mysql/mysql_com.h:339: parse error before '*' token
/mingw/include/mysql/mysql_com.h:340: parse error before '*' token
.....
Você tem alguma dica para o problema?
Grato.
Sérgio.
netmorais@ig.com.br
[26] Comentário enviado por
netmorais em 18/06/2008 - 16:26h:
Ricardo
Já diminuiu os erros. Usei o include sugerido "windows.h" mas continua aparecendo:
\mingw\lib\gcc-lib\mingw32\3.2.3\..\..\..\..\mingw32\bin\ld.exe: cannot find -lmysqlclient
Usei a opção -L .../MySQL/.../lib/opt, copiei o .../MySQL/.../lib/opt para mas não funciona.
Sérgio.
netmorais@ig.com.br
[27] Comentário enviado por
wgaprendiz em 12/10/2008 - 23:12h:
Ola Ricardo
Muito bom seu artigo.
Bom estou com alguns problemas para executar os exemplos.
Utilizo a versão 4.9.9.2 do Dev c/c++ no win XP Pro.
Ja baixei a bilbioteca mysql.h
Ao tentar compilar os exemplos , aparecem as seguintes mensagens de erro no dev:
[Linker error] undefined reference to 'WinMain@16'
Id returned 1 exit status
C:\Dev-Cpp\Makefile.win [Build Error] [project2.exe] Error 1
Como sou novato em C não sei decifrar esses erros , mas acho que o problema possa estar na biblioteca mysql.h, pois eu baixei a primeira que encontrei e nao sei se é a mais adequada.
Alguem pode me ajudar a solucionar o problema.!?
Desde ja agradeço pela atenção.
walaceg@gmail.com
[28] Comentário enviado por
abekawa em 01/04/2009 - 21:43h:
Olá Pessoal,
No linux a biblioteca libmysql pode ser instalada baixando o pacote libmysql++-dev .
Distribuições baseadas em debiam podem usar o seguinte comando.
#sudo apt-get install libmysql++-dev
Tambem deverá ser feito algumas alterações no código:
declarem a main como int, como nosso amigo lá em cima já citou.
#include <stdio.h>
#include <mysql/mysql.h>
int main(void)
{
MYSQL conexao;
mysql_init(&conexao);
if ( mysql_real_connect(&conexao, "localhost", "root", "123mudar", "agenda", 0, NULL, 0) )
{
printf("conectado com sucesso!\n");
mysql_close(&conexao);
}
else
{
printf("Falha de conexao\n");
printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao));
}
}
[29] Comentário enviado por
abekawa em 02/04/2009 - 00:00h:
PERGUNTA, como inserir o valor de uma variavel qualquer no insert into.... mais ou menos isso
#include <stdio.h>
#include <mysql/mysql.h>
int main(void)
{
MYSQL conexao;
int res;
char nome[50], telefone[10];
scanf("%s", &nome);
scanf("%s", &telefone);
mysql_init(&conexao);
if ( mysql_real_connect(&conexao, "localhost", "root", "123mudar", "agenda", 0, NULL, 0) )
{
printf("conectado com sucesso!\n");
res = mysql_query(&conexao,"INSERT INTO cadastro(nome, telefone) values (" + nome + "," + telefone + ");");
if (!res) printf("Registros inseridos %d\n", mysql_affected_rows(&conexao));
else printf("Erro na inserção %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao));
mysql_close(&conexao);
}
else
{
printf("Falha de conexao\n");
printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao));
}
}
[30] Comentário enviado por
netmorais em 17/06/2009 - 10:47h:
Ricardo
Usei o modelo do seu artigo para construir um executavel tanto no Linux, como no Windows (.exe, infelizmente preciso) para estabelecer a conexão a baixo custo de outras linguagens com o Mysql e funciona muito bem. A biblioteca que uso na compilação com o gcc é a libmysqlclient.a que vem junto com a distribuição do Mysql.
Atualmente, no caso do Windows, estou tentando melhorar a performance da interface criando uma Dll. Para isso transformei o programa em C em um conjunto de "funções" para conexão, execução de sqls e desconexão com banco. Aplicação que "chama" as funções é pre-compilada em um .obj, assim como as "funções" que acessam o banco com "gcc -c funcoes.c -o funcoes.obj". (não posso "linkar" o Mysql nesse momento). Após isso executo o Link (da MS) "link ... -d aplicacao.obj funcoes.obj libmysqlclient.a" que cria a Dll e naõ aponta nenhum erro. Porém na execução aborta logo no "mysql_init".
A biblioteca "libmysqlcliente.a" utilizada não é apropriada para este caso? Existe "mysqlclient.obj"?
Grato
Sérgio.
[31] Comentário enviado por
fmj1988 em 31/10/2009 - 18:43h:
Felipe
estou tentando inserir aki mas estou com duvidas.
como eu faço pra inserir dinamicamente.
ex
int i=0;
char b[][]={"rebeca","precila","barbara"};
for (i=0;i<3;i++){
mysql_query(&con,"insert into aprendendo(nome) values ('%s');",b[][i]);
}
como eu faria isso???
agradeço desde já
[32] Comentário enviado por
walquiriosaraiva em 20/11/2009 - 06:54h:
Bom dia pessoal!!
Estou com um problema em C, não consigo encontrar a biblioteca para conexão com banco de dados. Não sei onde baixar, já tentei encontrar mais as que achei não funciona quando eu tento compilar o programa ele dá um erro e pelo que percebi deve ser na biblioteca.
#include <stdio.h>
#include <mysql/mysql.h>
#include <conio.h>
void main(void)
{
MYSQL conexao;
mysql_init(&conexao);
mysql_real_connect(&conexao, "localhost", "root", "root", "teste", 0, NULL, 0);
printf("conectado com sucesso!\n");
mysql_close(&conexao);
}
Se puder me enviar um email é melhor...
walquiriosaraiva@gmail.com
Att,
Walquirio Saraiva Rocha
[33] Comentário enviado por
Raios em 16/04/2010 - 15:56h:
Olá pessoal bem a conexão foi realizada com sucesso só que na hora de eu transformar isso tudo para DLL, gera um erro na conexão, bem esse é meu código porém não consigo criar uma DLL com banco. Gostaria que me ajudasse.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <mysql/mysql.h>
#include <string.h>
int main(void)
{
MYSQL conexao;
MYSQL_RES *resp;
MYSQL_ROW linhas;
MYSQL_FIELD *campos;
char query[]="SELECT * FROM cliente;";
int conta; //Contador comum
mysql_init(&conexao);
if (mysql_real_connect(&conexao,"localhost","user","user","dados",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));
}
system("pause");
return 0;
}
[34] Comentário enviado por
wcoutinho em 22/04/2010 - 01:56h:
muito bom o post.
eu to com uma serie de problemas na compilacao.
gcc mysql-connect.c -lmysqlclient
mysql-connect.c:2:24: error: mysql/mysql.h: No such file or directory
mysql-connect.c: In function ‘main’:
mysql-connect.c:11: error: ‘MYSQL’ undeclared (first use in this function)
mysql-connect.c:11: error: (Each undeclared identifier is reported only once
mysql-connect.c:11: error: for each function it appears in.)
mysql-connect.c:11: error: expected ‘;’ before ‘conexao’
mysql-connect.c:12: error: ‘MYSQL_RES’ undeclared (first use in this function)
mysql-connect.c:12: error: ‘resp’ undeclared (first use in this function)
mysql-connect.c:13: error: ‘MYSQL_ROW’ undeclared (first use in this function)
mysql-connect.c:13: error: expected ‘;’ before ‘linhas’
mysql-connect.c:14: error: ‘MYSQL_FIELD’ undeclared (first use in this function)
mysql-connect.c:14: error: ‘campos’ undeclared (first use in this function)
mysql-connect.c:18: error: ‘conexao’ undeclared (first use in this function)
mysql-connect.c:23: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’
mysql-connect.c:45: error: ‘linhas’ undeclared (first use in this function)
mysql-connect.c:60: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
alguem pode me ajudar?
[35] Comentário enviado por
icekill em 03/06/2010 - 01:42h:
Seu problema na compilação é que faltam as bibliotecas ou o mysql-devel não encontra-se instalado.
Recomendo compilar usando a seguinte sintaxe:
gcc `mysql_config --cflags --include --libs` teste-mysql.c -o teste-mysql.c
[36] Comentário enviado por
williandiniz em 03/07/2010 - 16:00h:
resposta ao [7] Comentário enviado por jllucca em 30/08/2004 - 13:43h:
Complementado:
int res;
int data=999;
int lat=1000;
char* query[100];
sprintf(query,"INSERT INTO dados_teste (ID,lati) values ('%d','%d');",data,lat);
.
.
.
res = mysql_query(&conexao,query);
dados_teste = nome da tabela
ID e lati são os campos da tabela
data e lat são as variaveis.
[37] Comentário enviado por
graantonucci em 18/10/2010 - 00:33h:
Estou fazendo a conexao mysql em C++
como faço para o insert aceitar as variaveis char dt_dia_trabalhado e hr_entrada?
//sock
int res;
MYSQL *sock;
sock = mysql_init(0);
if (sock) cout << "sock handle ok!" << endl;
else {
cout << "sock handle failed!" << mysql_error(sock) << endl;
}
//connection
if (mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0)) {
cout << "connection ok!" << endl;
res = mysql_query(sock,"INSERT INTO cadastro_horas(dt_dia_trabalhado, hr_entrada ) values (dt_dia_trabalhado, hr_entrada );");
Coloquei assim, mas insere como Null. oq eu faço?