Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > mysql C++ CGI


Автор: Kastuss 24.7.2014, 13:58
Здравствуйте.

ниже программа выводит данные из бд. если запускать из консоли то всё работает,
если же запустить бинарник в браузере, то текст в  cout, который идёт после conn.connect(connDetails[0], connDetails[1], connDetails[2], connDetails[3]); не выводится.

Apache 2.2.15
Mysql 5.1.73

Код

#include <iostream>
#include <mysql++/mysql++.h>

int main(){

    std::cout << "Content-Type: text/html\n\n";

    mysqlpp::String queryString("SELECT id, name FROM users WHERE id = 4;");
    
    char const *connDetails[] = {"qsystem", "127.0.0.1", "root", "11111111"};

    mysqlpp::Connection conn;

    mysqlpp::StoreQueryResult q;

    std::cout << "testing<br>";

    conn.connect(connDetails[0], connDetails[1], connDetails[2], connDetails[3]);


    if(conn.connected()){

        mysqlpp::String testConn("Connected.");

        std::cout << testConn << "<br>";

    }

    q = conn.query(queryString).store();

    for(int i = 0; i < q.num_rows(); i ++){
        std::cout << q[i]["name"] << "<br>";
    }

return 0;
}
Код






Автор: Kastuss 26.7.2014, 12:02
после того, как conn.connect поместил в блок try catch, при запуске в браузере conn.connect выдавал ошибку: can't connect to server on 127.0.0.1
Изменил на localhost стало работать. Хотя в консоли работает так и так..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)