Problem z wczytywaniem wyników bazy danych

0

Mam problem otóż chcę wczytać z bazy danych MySQL wyniki tabeli, na PuTTY wszystko działa dobrze, a w programie zwraca 0 :/ - oznacza to, że wszystko jest ok (z tego co czytałem, 0 oznacza, że jest połączenie) ale niestety nie chce wypisać mi danych z tego

KOD PROGRAMU DZIELIŁEM NA 3 części, ponieważ tak stwierdziłem, że w przyszłości będzie wygodniej się go czytać oto następujące pliki:

main.cpp:

#include <iostream>
#include <fstream>
#include <string>
#include <Windows.h>
#include <mysql.h>
#include <winsock.h>
#include "laczenie_z_baza.h"
#include "menu_programu.h"
#pragma comment(lib, "libmysql")
#pragma comment(lib, "mysqlclient")
using namespace std;



int main()
{
	conn = mysql_init (NULL);
	mysql_real_connect (conn, sql_host, sql_username, sql_password, sql_base, sql_port, opt_socket, sql_flags);

	sprawdzanie_polaczenia(); // funkcja ta wywoluje menu programu oraz sprawdza czy mamy połączenie z bazą danych
	cin.ignore();cin.get();
}

menu_programu.h

using namespace std;


extern void menu_programu()
{
	string zapytanie;
	zapytanie = "SELECT * FROM magazyn;";
	mysql_select_db(conn, "sklep");
	cout << mysql_query(conn, zapytanie.c_str()) << "\n";
	cout << "wersja klienta: " << mysql_get_client_info() << "\n";
	cout << "Wersja serwera: " << mysql_get_server_info(conn)<< "\n";
	mysql_close(conn);
	cout << "zamknieto polaczenie" << "\n";
}

laczenie_z_baza.h

using namespace std;

void menu_programu(); // deklaracja ze takie cos jak menu_programu istnieje tylko, ze w innym pliku :P

static char *sql_host = //ip komputera //;  /* MySQL host */
static char *sql_username = //login do bazy danych//;  /* logging */
static char *sql_password = //haslo do bazy danych //;       /* passwd */
static char *sql_base = "sklep";       /* database name */
static unsigned int sql_port = NULL;  /* port */
static char *opt_socket = NULL;       /* socket name */
static char *sql_db_name = "sklep";   /* database name */
static unsigned int sql_flags = 0;
static MYSQL *conn;                   /* Wskaźnik do połączenia do MySQL */


void sprawdzanie_polaczenia()
{
	if(mysql_select_db(conn, "sklep") != 0)
	{
		cout << "BLAD POLACZENIA Z BAZA DANYCH, SKONTAKTUJ SIE Z ADMINISTRATOREM SERWERA";
	}
	else
	{
		menu_programu();
	}
}
0

Masz to tak pokiełbaszone że nie da się tego poprawić, trzeba napisać od nowa. Potrzebujesz:

  1. Demo od MySQL
  2. Debuger, który ci powie wszystko co myśli o twoim sposobie podłączenia funkcji przez include.
  3. Dla każdej z funkcji przeczytać w dokumentacji jakie parametry przejmuje a jakie zwraca.

1 użytkowników online, w tym zalogowanych: 0, gości: 1