MySQL w C
coffeinka
manual całkowity odnośnie MySQL w
devpack
#include <windows.h>
#include <iostream>
#include <mysql/mysql.h>
#include <string.h>
using namespace std;
/*
do projektu dołączmy libmysql.a
oraz parametry
-Wall
-W
*/
/*I typy*/
int main()
{
MYSQL* my_sql; //reprezentuje połaczenie do bazy danych
MYSQL_RES* res; //zmienna reprezentujaca dane odebrane
MYSQL_ROW row, end_row; //zmienne reprezentujaca wersy
/*II inicjacja polaczenia*/
my_sql=mysql_init(my_sql);
if (my_sql) cout << "ok!" << endl;
else {
cout << "!ok!" << mysql_error(my_sql) << endl;
/*funkcja mysql_error() zwraca wiadomosc o błedzie(ostatnim)*/
/*funkcja mysql_errno() zwraca kod błędu(ostatniego)*/
}//else if (my_sql)
/*III połączenie*/
char host[30] = "localhost"; //nazwa serwera do którego chcemy sie podłaczyć
char user[30] = "root"; //użyszkodnik którym sie chcemy podłaczyć
char pass[30] = "P@ssw0rd"; // H@sl0 użyskodnika którym sie chcemy podłaczyć
char db[30] = "test"; //baza do której chcemy sie podłaczyć jesli pusto to
//podłaczy nas do domyślnej lub zadnej
// w sql używamy komendu "use nazwa_bazy;"
if (mysql_real_connect(my_sql, host, user, pass, db, 0, NULL, 0))
cout << "ok!" << endl;
else {
cout << "!ok!: " << mysql_error(my_sql) << endl;
}//else if (mysql_real_connect..
/*IV*/
long ret;
// select url from tescik limit 1; = wybierz pola "url" z taleli tescik ograniczajac sie do 1 wyniku
ret = mysql_real_query(my_sql, "select url from tescik limit 1;",strlen("select url from tescik limit 1;"));
if (ret != 0) {
cout<<"!ok!"<< mysql_error(my_sql);
}//if (ret != 0)
else {
cout<<"ok!";
/*V to co mysql_real_query zostawi po sobie */
res = mysql_store_result(my_sql); // przypisanie danych pobranych czy coś takiego
if (res) {
unsigned int num_fields;
num_fields = mysql_num_fields(res); // liczba pol w wersie;
while ( (row = mysql_fetch_row(res)) )
{
unsigned long *lengths;
lengths = mysql_fetch_lengths(res);
// odbieranie
unsigned int i;
for(i = 0; i < num_fields; i++)
{
printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");// wyswietla nr oraz zawartosc
}//for(i = 0; i < num_fields; i++)
printf("\n");
mysql_free_result(res); // zwalnia pamieć zajeta przez res
}//while ( (row = mysql_fetch_row(res)) )
}//if (res)
else {
if (mysql_field_count(my_sql) == 0)
ret = mysql_affected_rows(my_sql);
else
cout<<"!ok!"<<mysql_error(my_sql);
}//else if (res)
}//else if (ret != 0)
system("PAUSE");
/*VI koniec */
mysql_close(my_sql);
return EXIT_SUCCESS;
}
Jest to napisane w konsoli, ale łatwo da się przerobić na API ;) Program kompilowany w Dev-C++ (+MySQL w wersji 5).
Próbuje to skompilować, mam problem. Zainstalowałem mysql serwer oraz mysql c++ conector.
main.o(.text+0x13c):main.cpp: undefined reference to
mysql_init@4' main.o(.text+0x179):main.cpp: undefined reference to
mysql_error@4'main.o(.text+0x28d):main.cpp: undefined reference to
mysql_real_connect@32' main.o(.text+0x2c5):main.cpp: undefined reference to
mysql_error@4'main.o(.text+0x315):main.cpp: undefined reference to
mysql_real_query@12' main.o(.text+0x332):main.cpp: undefined reference to
mysql_error@4'main.o(.text+0x37b):main.cpp: undefined reference to
mysql_store_result@4' main.o(.text+0x396):main.cpp: undefined reference to
mysql_num_fields@4'main.o(.text+0x3aa):main.cpp: undefined reference to
mysql_fetch_row@4' main.o(.text+0x3c5):main.cpp: undefined reference to
mysql_fetch_lengths@4'main.o(.text+0x473):main.cpp: undefined reference to
mysql_free_result@4' main.o(.text+0x486):main.cpp: undefined reference to
mysql_field_count@4'main.o(.text+0x498):main.cpp: undefined reference to
mysql_affected_rows@4' main.o(.text+0x4ae):main.cpp: undefined reference to
mysql_error@4'main.o(.text+0x4ea):main.cpp: undefined reference to `mysql_close@4'
"(..) a api to jest program windowsowy"
pr0 ...
wolverine, konsola to jest to takie czarne okienko dosowe a api to jest program windowsowy, z okienkami. I można przerobić na jedną z tych dowolnych form.
usuwac nie ma sensu - ma bledy ale daje jakies pojecie o uzyciu libmysql :)
przepraszam zaraz usune to coś
Artykuł na pewno nie, szybciej gotowiec lub faq
Co to jest? Artykul? :/
"jest to napissane w konsoli ale łatwo sie przerobi na api ;) " o_O, co masz na mysli?