Inserindo dados em c

4 respostas
G

Olá senhores, estou com o seguinte problema: não consigo inserir dados no meu bd(mysql) através da aplicação c, não da forma que eu gostaria pelo menos deixa eu tentar me explicar:

mysql_query(&conexao,“INSERT INTO CLIENTES(nome, cpf, telefone, senha) values(‘Fulano’, ‘12345678’, ‘44448888’,‘4321’);”);

da maneira acima funciona, código roda de boa, insere e tudo mais, porém eu gostaria de inserir as informações recebidas no console atribuindo elas a uma struct, eis o que estou tentando fazer e falhando miseravelmente(não compila):

if ( mysql_real_connect(&conexao, “localhost”, “root”, “250195”, “vt_estrutura”, 0, NULL, 0) ){

printf("\nConexao ao banco realizada com sucesso!\n");

system(“cls”);

printf("\t\nDigite o nome do cliente a ser cadastrado\n\n");

fflush(stdin);

fgets(cliente.nome, 30, stdin);

printf("\t\nDigite o cpf do cliente a ser cadastrado\n\n");

fflush(stdin);

fgets(cliente.cpf, 30, stdin);

printf("\t\nDigite o telefone do cliente a ser cadastrado\n\n");

scanf("%d",&cliente.telefone);

printf("\t\nDigite o senha do cliente a ser cadastrado\n\n");

fflush(stdin);

fgets(cliente.senha, 15, stdin);

mysql_query(&conexao,“INSERT INTO clientes(nome, cpf, telefone, senha) values(%s, %s, %d, %s)

(“cliente.nome”, “cliente.cpf”,“cliente.telefone”,“cliente.senha”,);”);

}else{

printf(“Falha de conexao\n”);

printf(“Erro %d : %s\n”, mysql_errno(&conexao), mysql_error(&conexao));

system(“pause>null”);

return(0);

}

}

Não coloquei o programa inteiro para não ficar muito grande o post, porém ele está compilando e rodando perfeitamente, única coisa que não estou conseguindo fazer é inserir dados no mysql através do console, alguém saberia me dizer qual é a forma correta ? grato desde já.

4 Respostas

G

ah, o erro que da no console tentando da segunda forma é o seguinte:

image

ps:estou usando codeblocks

K

Falta fechar o string da query. Usa uma IDE que ajude a ver essas coisas mais facilmente.

Outra coisa não relacionada com esse erro é que sua query ta meio estranha, você não está passando os valores da sua struct.

G

Olá Kronal obrigado pela resposta, fechar a string da query você diz um mysql_close ?

Bom eu não sou muito familiarizado com C mas tenho que fazer esse trabalho, estava utilizando o dev mas é tão ruim quanto esse codeblocks, teria alguma IDE em específico pra sugerir ?

E como assim não estou passando os valores da minha struct ?

K

Fechar e abrir é jeito de falar, você abre/inicia um string com aspas, e finaliza/fecha ele com aspas outra vez.

Falta aspas ali.

Criado 23 de maio de 2018
Ultima resposta 3 de jun. de 2018
Respostas 4
Participantes 2