C++ MySQL nie chce się połaczyc
Ostatnio zmodyfikowano 2014-02-19 18:44
DejaVu |
» 2014-02-17 13:18:25 Hostingi darmowe blokują je z definicji ze względów wydajnościowych. W hostingach płatnych różnie to bywa. Im więcej płacisz tym większa szansa, że taki dostęp będzie możliwy. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2014-02-19 08:04:35 Otworzyłem temat bo dalej mam problem z połączeniem. Znalazłem hosting vipserv płatny ale przez 7 dni mogę go sobie przetestować. I teraz tak, program sprawdza połączenie i niby się łączy z bazą danych, ale po chwili przestaje program odpowiadać kod: #include <cstdlib> #include <iostream> #include <winsock.h> #include <windows.h> # include <mysql/mysql.h> # include <mysql/mysqld_error.h> # include <cstring> # include <cstdio > #include <string>
using namespace std;
int main() { MYSQL mysql; MYSQL_RES * idzapytania; MYSQL * laczenie; MYSQL_RES * res_set; bool sprawdzanie; string login, haslo, tabela; if( mysql_init( & mysql ) == NULL ) { printf( "\nBlad inicjalizacji\n" ); return 0; } laczenie = mysql_real_connect( & mysql, "xxxx", "xxxx", "xxxx", "xxxx", 3306, NULL, 0 ); cout << mysql_error( & mysql ) << endl; if( laczenie ) { cout << "Polaczono !" << endl; cout << "Podaj login : "; cin >> login; cout << "Podaj haslo : "; cin >> haslo; cout << 1 << endl; cout << 2 << endl; tabela = "SELECT * FROM konta WHERE Login='" + login + "' AND Haslo='" + haslo + "'"; cout << 3 << endl; mysql_query( & mysql, tabela.c_str() ); cout << 4 << endl; res_set = mysql_store_result( & mysql ); cout << 5 << endl; cout << res_set << endl; if( mysql_num_rows( res_set ) == true ) { cout << "Dane sa poprawne" << endl; cout << "Witaj " << login << endl; } else cout << "Zle dane" << endl; } else cout << "Nie nawiazano polaczenia" << endl; mysql_close( & mysql ); return 1; }
błąd powoduje ta linijka if( mysql_num_rows(res_set)==true) a konkretnie mysql_num_rows(res_set), zauważyłem że res_set=mysql_store_result(& mysql); za każdym razem otrzymuje 0 nie zależnie czy dane zostały wprowadzone poprawnie czy źle, nie wiem dlaczego tak się dzieje. Na localhost res_set przechowywało zwykle takie mniej więcej dane 0x60f840 itp. |
|
DejaVu |
» 2014-02-19 18:42:39 No to skoro pracujesz na niepoprawnym wskaźniku to się nie dziw, że się aplikacja wysypuje... |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2014-02-19 18:43:15 Po 8 h szukania udało mi się zlokalizować błąd, a była to literówka która w ogóle nie rzucała się w oczy przez czcionkę... |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2014-02-19 18:44:33 Jakim wskaźniku ? |
|
DejaVu |
» 2014-02-19 18:44:58 |
|
1 « 2 » |