Овим туторијалом представљам заједници како приступити МиСКЛ бази података из програмског језика Ц и без употребе превише зависности, са само
libmysqlclient
Надам се да ће бити од користи онима којима је оваква документација била потребна и на тај начин наставити да доприноси СЛ заједници и помаже онима који немају ИНТЕРНЕТ.
конфигурација
Прво морамо проверити да ли имамо инсталиране библиотеке дизајна *-dev
да бисте могли да приступите МиСКЛ-у са Ц/Ц++.
мискл_цонфиг --либс
Нешто попут овога би требало да се појави:
-Вл, -Бсимболиц-фунцтионс –Л/уср/либ/мискл -лмисклцлиент рдинамиц
Ако показује да библиотека није инсталирана, инсталирамо је следећом командом:
судо апт-гет инсталл либмисклцлиент-дев мискл_цонфиг --цфлагс -И/уср/инцлуде/мискл -ДБИГ_ЈОИНС=1 -фно-стрицт-алиасинг -ДУНИВ_ЛИНУКС -ДУНИВ_ЛИНУКС
Сада када смо верификовали и инсталирали шта нам је потребно за везу између МиСКЛ-а и Ц-а, настављамо са креирањем базе података:
ЦРЕАТЕ ДАТАБАСЕ тест; УСЕ тест; ЦРЕАТЕ ТАБЛЕ дата (ид инт АУТО_ИНЦРЕМЕНТ НОТ НУЛЛ ПРИМАРИ КЕИ, име варцхар(40), аге инт); УМЕТНИ У ВРЕДНОСТИ података (НУЛЛ, 'Алма Хернандез', 28), (НУЛЛ, 'Хозе Санчез', 39), (НУЛЛ, 'Мартин лоера', 25), (НУЛЛ, 'Леонардо Кортез', 26), (НУЛЛ , 'Густаво Ромеро', 25);
Програмирање и компилација
Настављамо да креирамо код:
Куери.ц
/* библиотеке које ћемо користити */ #инцлуде /* библиотека која нам омогућава да користимо везе и упите са МиСКЛ-ом */ #инцлуде /* Да бисте могли да користите принтф, итд. */ инт маин() { МИСКЛ *цонн; /* променљива везе за МиСКЛ */ МИСКЛ_РЕС *рес; /* променљива која ће садржати резултат упита */ МИСКЛ_РОВ ред; /* променљива која ће садржати поља за сваки консултовани запис */ цхар *сервер = "лоцалхост"; /*адреса сервера 127.0.0.1, лоцалхост или ИП адреса */ цхар *усер = "роот"; /*корисник за упит базе података */ цхар *пассворд = "роот"; /* лозинка за дотичног корисника */ цхар *датабасе = "тест"; /*име базе података за упит */ цонн = мискл_инит(НУЛЛ); /*иницијализирати везу на нулл */ /* повезивање са базом података */ иф (!мискл_реал_цоннецт(цонн, сервер, корисник, лозинка, база података, 0, НУЛЛ, 0)) { /* дефинише параметре везе пре успостављања */ фпринтф(стдерр, "%с\н", мискл_еррор(цонн)); /* ако постоји грешка дефинишемо шта је грешка */ екит(1); } /* пошаљи СКЛ упит */ иф (мискл_куери(цонн, "одабери * из података")) { /* дефиниција упита и порекла везе */ фпринтф(стдерр, "%с\н", мискл_еррор( цонн)); излаз(1); } рес = мискл_усе_ресулт(цонн); принтф(„ИД\тИме\т\старост\н“); док ((ред = мискл_фетцх_ров(рес)) != НУЛЛ) /* петља кроз променљиву рес са свим записима добијеним за употребу */ принтф("%с\т%с\т%с \н", ред[0],ред[1],ред[2]); /* променљива реда се конвертује у низ према броју поља у табели */ /* променљива рес се ослобађа и веза се затвара */ мискл_фрее_ресулт(рес); мискл_цлосе(цонн); }
Компајлирамо са:
гцц -о Куери $(мискл_цонфиг --цфлагс) Куери.ц $(мискл_цонфиг --либс)
Верификација
Извршавамо:
./Цонсултатион
izvor: Блог Хуго4295
Добар, сачуван у мом арсеналу конзолних скрипти и туторијала! +1 за вашег партнера…
Здраво, честитам све што постоји на вебу у вези са овом темом, ваше је било најближе решењу. Само мало питање, зашто не могу да добијем извршни фајл?
Када дође време за компајлирање, не приказује грешке, али не генерише ./сер4
Имате ли идеју како то учинити у Федори?
Не слажем се са дељењем информација, али се не слажем са непостављањем ауторских права пошто сам овај пример направио ја од 2011, а ево адресе оригиналног извора
http://hugo4295.blogspot.mx/search?q=MYSQL
Нема проблема Викторе, али ако приметиш, нисам узео чланак са твог сајта, већ са другог где нажалост нису ставили извор. Међутим, тренутно уређујем чланак.. 😉
одлично дељење знања велика слобода
А како можете да правите уметке???