Hyni në MySQL duke përdorur C

Me këtë udhëzues unë i paraqes komunitetit se si të hyni në një bazë të dhënash MySQL nga gjuha e programimit C dhe pa përdorur shumë varësi,

libmysqlclient

Shpresoj se do të jetë i dobishëm për ata që kanë nevojë për këtë lloj dokumentacioni dhe kështu të vazhdojnë të kontribuojnë në komunitetin SL dhe të ndihmojnë ata që nuk kanë INTERNET.

konfiguracion

Së pari duhet të kontrollojmë që kemi të instaluar bibliotekat e dizajnit *-dev të jetë në gjendje të hyni nga C / C ++ në MySQL.

mysql_config --libs

Duhet të shfaqet diçka e tillë:

-Wl, -Bsymbolic-funksionet –L / usr / lib / mysql -lmysqlclient rdynamic

Në rast se kontrolloni se biblioteka nuk është e instaluar, ne e instalojmë atë me komandën e mëposhtme:

sudo apt-get install libmysqlclient-dev mysql_config --cflags -I / usr / include / mysql -DBIG_JOINS = 1 -fno-strikte-aliasing -DUNIV_LINUX -DUNIV_LINUX

Meqenëse ne verifikojmë dhe instalojmë atë që na duhet për lidhjen midis MySQL dhe C, ne vazhdojmë me krijimin e bazës së të dhënave:

Krijoni testin e bazës së të dhënave; Provë PERDORIMI; KRIJONI të dhëna në Tabela (id int AUTO_INCREMENT NOT NULL Primary Key, name varchar (40), mosha int); INSERT NO VLERAT E T data DHNAVE (NULL, 'Alma Hernandez', 28), (NULL, 'Jose Sanchez', 39), (NULL, 'Martin loera', 25), (NULL, 'Leonardo Cortez', 26), (NULL , 'Gustavo Romero', 25);

Programimi dhe përpilimi

Ne vazhdojmë të krijojmë kodin:

Pyetje.c

/ * biblioteka për të përdorur * / #përfshij / * bibliotekë që na lejon të përdorim lidhje dhe pyetje me MySQL * / # përfshij / * Në mënyrë që të përdorni printf, etj. * / int main () {MYSQL * lidh; / * ndryshorja e lidhjes për MySQL * / MYSQL_RES * res; / * ndryshorja që do të përmbajë rezultatin e rreshtit të pyetësit * / MYSQL_ROW; / * variabla që do të përmbajë fushat për secilin rekord të konsultuar * / char * server = "localhost"; / * adresa e serverit 127.0.0.1, adresa lokale ose ip * / char * user = "root"; / * përdoruesi për të kërkuar bazën e të dhënave * / char * fjalëkalimin = "rrënjë"; / * fjalëkalimi për përdoruesin në fjalë * / char * baza e të dhënave = "provë"; / * emri i bazës së të dhënave për të kërkuar * / conn = mysql_init (NULL); / * inicializimi për të anuluar lidhjen * / / * lidheni me bazën e të dhënave * / nëse (! mysql_real_connect (lidhja, serveri, përdoruesi, fjalëkalimi, baza e të dhënave, 0, NULL, 0)) {/ * përcaktoni parametrat e lidhjes të vendosur më parë * / fprintf (stderr, "% s \ n", mysql_error (lidhja)); / * nëse ekziston një gabim, përcaktoni se cili gabim ishte * / exit (1); } / * dërgoni pyetjen SQL * / if (mysql_query (lidhja, "zgjidhni * nga të dhënat")) {/ * përkufizimi i pyetjes dhe origjina e lidhjes * / fprintf (stderr, "% s \ n", mysql_error ( lidhëse)); dalja (1); } res = mysql_use_result (lidh);
	printf("ID \ tName \ t \ mosha \ n"); ndërsa ((rreshti = mysql_fetch_row (rez))! = NULL) / * lak nëpër ndryshoren res me të gjitha rekordet e marra për përdorim * /
		printf("% s \ t% s \ t% s \ n", rreshti [0], rreshti [1], rreshti [2]); / * ndryshorja e rreshtit bëhet një varg për numrin e fushave në tabelë * / / * lëshohet variabla res dhe lidhja mbyllet * / mysql_free_result (res); mysql_close (lidhja); }

Ne përpilojmë me:

gcc -o Pyetësi $ (mysql_config --cflags) Query.c $ (mysql_config -–libs)

Verifikimi

Ne ekzekutojmë:

./Pyetje

Fuente: Blog i Hugo4295


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   koratsuki dijo

    Mirë që u ruajt në arsenalin tim të skenareve dhe udhëzimeve në tastierë! +1 për partnerin tënd ...

  2.   rodrigo dijo

    Përshëndetje, shumë urime për gjithçka që është në internet në lidhje me këtë çështje, e juaja ishte më afër zgjidhjes. vetëm pak dyshim, pse nuk e marr ekzekutuesin ??

    në kohën e komilarit nuk shënon ndonjë gabim por nuk gjeneron ./ser4

  3.   Andrello dijo

    Ndonjë ide se si ta bëjmë atë në Fedora?

  4.   fitues de la o dijo

    Unë nuk jam dakord me ndarjen e informacionit, por nëse e drejta e autorit nuk vendoset pasi që ky shembull është bërë nga unë që nga viti 2011 dhe këtu është adresa e burimit origjinal

    http://hugo4295.blogspot.mx/search?q=MYSQL

    1.    i gjallë dijo

      Nuk ka problem Viktor, por nëse e vëreni unë nuk e mora artikullin nga faqja juaj, por nga një tjetër ku për fat të keq ata nuk e vendosën burimin. Sidoqoftë, tani e redaktoj artikullin ..

  5.   morali i alfonso ovidio lópez dijo

    shkëmbim i shkëlqyeshëm i njohurive liri e madhe

  6.   DANIELA FERNANDEZ dijo

    Dhe si mund të bëhen futjet ???