Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fcp Para Sempre

Conectar a Base de Dados

Recommended Posts

Ando à dias a tentar conhectar com uma base de dados, estou dando em doido!

 

Fiz um site no zymic e pus lá uma base de dados...

Tenho a certeza que a password e o user estão certos! Revi tudo várias vezes...

 

Qual o erro do código?

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <windows.h>
#include <mysql/mysql.h>

int main(void)
{
  char * host = "localhost";                               // Pode ser o nome do computador ou o IP
  char * usuario = "xxx";                      // Usuário para conectar
  char * senha = "xxx";                              // Senha do usuário
  char * database = "xxx";    // Base de dados a se conectar

  MYSQL * conexao;                                         // Cria um link para a conexão
  conexao = mysql_init(NULL);                              // Inicializa o link

  /* Conectando ao banco! */
  if (!mysql_real_connect(conexao, host, usuario, senha, database, 0, NULL, 0))
  {   
     printf("Erro de Conexao : %s!\n", mysql_error(conexao));
     //return 1;
  }
  else printf("Conectado com sucesso a %s!\n", host);

  mysql_close(conexao);
  system("pause");
  return 0;  
} 

 

Se alguém souber responder, a sério! Obrigado!

 

msg.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

É importante xD

 

Não sei se ajuda, mas:

mysql.static_host ------ é ------> mysql.hosting.zymic.com

 

Não será preciso por isto em algum lado? Já fui experimentando, mas nada...

 

P.S.: Se alguém souber a solução em Java, para mim também serve.

 

Se servir para alguma coisa, o mysql.static_host é:

mysql.hosting.zymic.com

 

P.S.: Também aceito soluções Java, estou por tudo --'

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja tentou trocar

"localhost"

por:

mysql.hosting.zymic.com
?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja tentou trocar

por:

?

 

Já... já tentei de tudo xD

 

Chateei-me e mudei de site, o novo até o IP diz certinho.

 

A executar, está muito tempo a executar, no final dá erro na mesma --'

 

Tanto em Java como em C.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendo muito de DB.

Mas o usuário que você esta utilizando para conectar, "xxx", não precisa cadastrar no DB para autenticar??

 

Espero ter ajudado, FLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse código está funcionando perfeito aqui comigo!!!

 

#include <stdlib.h>

#include <iostream>

#include <stdio.h>

#include <windows.h>

#include <winsock.h>

#include <mysql/mysql.h>

#include <sstream>

 

using namespace std;

 

int main(void)

{

MYSQL DBCon; // Vairiavel de conexão

MYSQL_RES *result; //variável que recebe o resultado

MYSQL_ROW dados; //variável que recebe os dados

 

int Id; // Converter para integer

 

// Inicia a variável DBCon

mysql_init(&DBCon);

 

//Conecta com o banco de dados

if ( mysql_real_connect(&DBCon, "localhost", "root", "", "dbsiteblog", 0, NULL, 0) )

{

printf("Conectado!\n\n");

}

else

{

//Escreve o erro que ocorreu

printf("Erro n %d : %s\n", mysql_errno(&DBCon), mysql_error(&DBCon));

cin.get(); //Espera o usuário pressionar uma tecla

cin.get();

return 1;

}

 

// Executa a consulta

if(mysql_query(&DBCon,"select * from tbpost"))

{

printf("Erro n %d : %s\n",mysql_errno(&DBCon),mysql_error(&DBCon));

cin.get();

cin.get();

return 1;

}

 

// Recebe os dados da cunsulta

result = mysql_store_result(&DBCon);

 

// Se consultou (sem erros)

if (result) {

cout << "\nLista de dados do banco\n\n";

// Enquanto receber dados vai escrevendo

while ((dados=mysql_fetch_row(result)) != NULL) {

// Escreve os dados formatados sendo estes a ID, o tipo e o post

istringstream buffer(dados[0]); // Cria a variável que recebera a string a ser convertida para int

buffer >> Id; // Convert a string para int

cout << "ID: "; printf ("%d\n",Id);

printf("Tipo: %s\n",dados[1]); // Escreve formatado

printf("Post: %s\n",dados[2]); // Escreve formatado

cout << "____________________________________________________";

}

// Limpa da memória

mysql_free_result(result);

}

else{

printf("Erro n %d : %s\n", mysql_errno(&DBCon), mysql_error(&DBCon));

cin.get();

cin.get();

return 1;

}

printf("\n");

// Fecha a conexão ...

mysql_close(&DBCon);

 

cin.get();

return 0;

system("PAUSE");

return EXIT_SUCCESS;

}

Atente apenas para uma coisa Importante...

 

Vá no Menu do Dev C++ , se for este o caso e clique em

-> Project -> Project OPtions -> Parameters -> Add LIbrary or Object

e SElecione o arquivo de Linker para abri o programa junto com o MYSQL

nesse caso é a LIB do C++ que você pode baixar na net caso não tenha.

Baixa a LIB com o instalador do site do DEVC++ e instala e linka lá como te mostrei acima

. O arquivo vai estar na pasta do DEV/lib/...

 

Boa sorte, espero que dê jeito!

ABraço

Danilo Marcus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse código está funcionando perfeito aqui comigo!!!

 

(...)

 

Boa sorte, espero que dê jeito!

ABraço

Danilo Marcus

 

O teu código imagino que seja para uma base de dados local e eu tenho a minha base de dados alojada num site.

 

Sinceramente... eu achava que era só trocar os argumentos da mysql_real_connect(). Peguei no teu código, alterei os tais argumentos, compilei e executei... os resultados foram: compila, mas depois a executar não conecta com a base de dados.

 

Olhem, eu queria é que isto funciona-se... por isso até deixo os valores que usei (user, passe, etc...). Não tem lá nada, é só para treino... por isso não faz mal

 

 

Username: gofre_11511977

Password: gafanha1

Base de dados: gofre_11511977_bd

 

Se alguém conseguir conectar, por favor, diga como xD Obrigado!

 

sql.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.