Witam wszystkich.
Jestem początkującym programistą, więc mogłem opuścić coś ważnego, lub po prostu zrobić głupi błąd. W obu przypadkach proszę o wyrozumiałość. Napisałem mały program, który łączy się z bazą daną i wrzuca do niej dane. Wszystko gra gdy jako adres do połączenia dam mu 'localhost'. Jeżeli jednak wpiszę mu adres mojego ip zewn, lub jakiegokolwiek serwera mysql na cba, yoyo, czy inny,nie chce się łączyć. Nie mam pojęcia co jest tego przyczyną. Tak wygląda kawałek odpowiadający za łączenie:
if (
!mysql_real_connect ( // nawiązuje połaczenie z bazą danych, w razie problemów zwraca błędy (false)
conn, // wskażnik na obiekt
"localhost", // nazwa hosta do ktorego chcemy się podłączyć
"root", // nazwa uzytkownika
"pass", // haslo do bazy
"test", // nazwa bazy do ktorej pragniemy nawiazac polaczenie
0, // port (0 oznacza uzycie domyslnego)
NULL, // socket (brak)
0) // flagi (brak)
) {
std :: cout << "Nie ma takiej bazy, lub podane dane są niepoprawne";
}
Przy tym się łączy. Jeżeli zmienię "localhost", wyświetla komunikat widoczny w kodzie.
Mam też drugi problem. Gdy odpalam ten programik za pomocą kompilatora, (Dev-C++, F9 = kompiluj + uruchom) normalnie się włącza. Gdy odpalam go za pomocą exeka, od razu wyskakuje "Program *.exe przestał działać." Jak temu zaradzić?
Z góry dziękuję,
Samik