Qt 5.2.0 problem z MySQL



  • Witam, pisze program w którym trzeba się zalogować i chciałbym żeby działał na MYSQL to mój kod :
    @Login::Login(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Login)
    {
    ui->setupUi(this);

    QSqlDatabase mydb = QSqlDatabase::addDatabase("QMYSQL");
    mydb.setHostName("mysql.cba.pl");
    mydb.setDatabaseName("cppdxqt_cba_pl");
    mydb.setUserName("feniks_sql");
    mydb.setPassword("qwe");
    
    if(mydb.open())
    {
        ui->status_label->setText("[+]Połączono");
    }
    else
    {
        ui->status_label->setText("[-]Błąd połączenia");
    }
    

    }

    Login::~Login()
    {
    delete ui;
    }

    void Login::on_pushButton_clicked()
    {

    QString username, password;
    username = ui->lineEdit_username->text();
    password = ui->lineEdit_Password->text();
    if(!mydb.isOpen())
    {
    
        qDebug()<< "Błąd bazy danych";
    
    }
    
    QSqlQuery qry;
    
    if(qry.exec&#40;"SELECT username, password FROM uzytkownicy WHERE username=\'" + username + "\' AND password=\'" + password + "\'"&#41;)
    {
    
        ui->status_label->setText("[+]Zalogowano pomyślnie");
    
        this->hide();
        project_list projectlistwindow;
        projectlistwindow.setModal(true);
        projectlistwindow.exec&#40;&#41;;
    
    
    }
    else
    {
    
        ui->status_label->setText("[-]Zła nazwa użytkownika lub hasło");
    
    }
    

    }
    @

    nie stety on nie działa :( Wyświetla tylko
    @[-]Błąd połączenia@

    gdy ustawiam żeby odczytał plik ale w SQLite to wszytko działa

    odrazu mówię że mam libmysql.ddl w C:\Windows i C:\Windows\System32

    i drugie pytanie czy da się zrobić żeby program odszyforwał zhasowane hasło z bazy danych ?



  • Sprawdz czy zadziaął Ci połaczenie za pomoca innego klienta uzywwajacego tej samej biblioteki DLL. Moze mysql.exe ?

    Co do pytania o hasło to polecam "link":http://stackoverflow.com/questions/6781931/how-do-i-create-and-store-md5-passwords-in-mysql



  • a to przypadkiem nie jest tak że dostęp do mysql na cba.pl jest tylko lokalny ?? (np z zainstalowanej u nich aplikacji ?? np. joomla)



  • Próbowałem też na localhoscie i też nic



  • proponowałbym ci sam skompilować sterowniki do mysql, np według tego opisu -> http://www.cieslak.info.pl/index.php/130-kompilacja-sterownika-do-mysql



  • Jak masz baze na "localhost"
    to zajrzyj do logow serwer-a i bedziesz wiedziałco jest nie tak.

    Moze kiepsko szukałem ale w dokumentacji nie widzę jak dostać sie do bledu , bo jak funkcja open() zwraca FALSE to chyba oczywiste jest że cosposzło nie tak i przydało by się dokopać do błedu jaki zgłosił serwer
    albo co innego jest nie tak.



  • Co do logowania y qt mam pytanie znajomy mi poradził że bezpieczniej będzie jak wyślę request do skryptu php na serwerze tylko jak to zrobić ?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.