בעזרת מדריך זה אני מציג בפני הקהילה כיצד לגשת למסד נתונים של MySQL משפת התכנות C ומבלי להשתמש בתלות רבות מדי, עם רק
libmysqlclient
אני מקווה שזה יהיה שימושי למי שנזקק לתיעוד מסוג זה וכך ימשיך לתרום לקהילת SL ולעזור למי שאין לו INTERNET.
תצורה
ראשית עלינו לבדוק שהתקינו את ספריות העיצוב *-dev
כדי להיות מסוגל לגשת מ C / C ++ ל- MySQL.
mysql_config - ליברות
זה אמור להופיע בערך כך:
-Wl, -Bsymbolic-functions –L / usr / lib / mysql -lmysqlclient rdynamic
במקרה שתבדוק שהספריה לא מותקנת, אנו מתקינים אותה עם הפקודה הבאה:
sudo apt-get להתקין libmysqlclient-dev mysql_config - cflags -I / usr / include / mysql -DBIG_JOINS = 1 -fno-string-aliasing -DUNIV_LINUX -DUNIV_LINUX
מכיוון שאנחנו מאמתים ומתקינים את מה שאנחנו צריכים לקישור בין MySQL ו- C, אנו ממשיכים ליצירת מסד הנתונים:
ליצור מבחן נתונים; בדיקת שימוש; צור נתוני טבלה (מזהה int AUTO_INCREMENT NOT NULL PRIMARY KEY, name varchar (40), age int); הכנס לערכי נתונים (NULL, 'Alma Hernandez', 28), (NULL, 'Jose Sanchez', 39), (NULL, 'Martin loera', 25), (NULL, 'Leonardo Cortez', 26), (NULL , 'גוסטבו רומרו', 25);
תכנות וקומפילציה
אנו ממשיכים ליצור את הקוד:
Query.c
/ * ספריות לשימוש * / # כלול / * ספרייה המאפשרת לנו להשתמש בחיבורים ובשאילתות עם MySQL * / #include / * על מנת להשתמש ב- printf וכו '. * / int main () {MYSQL * conn; / * משתנה חיבור עבור MySQL * / MYSQL_RES * res; משתנה / * שיכיל את התוצאה של השאילתה * / MYSQL_ROW שורה; משתנה / * שיכיל את השדות עבור כל רשומה שהתייעצה * / char * server = "localhost"; / * כתובת שרת 127.0.0.1, localhost או ip כתובת * / char * user = "root"; / * משתמש לשאילתת מסד הנתונים * / char * password = "root"; / * סיסמה עבור המשתמש המדובר * / char * database = "test"; / * שם מסד הנתונים לשאילתה * / conn = mysql_init (NULL); / * אתחול לביטול החיבור * / / * התחברות למסד הנתונים * / if (! mysql_real_connect (Conn, שרת, משתמש, סיסמה, מסד נתונים, 0, NULL, 0)) {/ * הגדירו את פרמטרי החיבור שהוגדרו בעבר * / fprintf (stderr, "% s \ n", mysql_error (conn)); / * אם יש שגיאה הגדירו איזו שגיאה הייתה * / יציאה (1); } / * שלח שאילתת SQL * / if (mysql_query (conn, "בחר * מנתונים")) {/ * הגדרת השאילתה ומקור החיבור * / fprintf (stderr, "% s \ n", mysql_error ( Conn)); יציאה (1); } res = mysql_use_result (conn); הדפס("ID \ tName \ t \ age \ n"); בעוד ((שורה = mysql_fetch_row (res))! = NULL) / * לולאה דרך המשתנה res עם כל הרשומות שהושגו לשימוש * / הדפס("% s \ t% s \ t% s \ n", שורה [0], שורה [1], שורה [2]); / * משתנה השורה הופך למערך למספר השדות בטבלה * / / * משתנה res משתחרר והחיבור נסגר * / mysql_free_result (res); mysql_close (conn); }
אנו מקבצים עם:
gcc -o Query $ (mysql_config --cflags) Query.c $ (mysql_config -–libs)
אימות
אנו מבצעים:
./שאילתא
מקור: הבלוג של Hugo4295
כל הכבוד, שמור בארסנל התסריטים וההדרכות שלי בקונסולה! +1 בשבילך השותף ...
שלום, ברכות רבות על כל מה שיש באינטרנט בנושא זה, שלך היה הכי קרוב לפיתרון. רק קצת ספק, למה אני לא משיג את ההפעלה ??
בזמן comillar זה לא מסמן שום שגיאה אבל הוא לא מייצר את ./ser4
יש לך מושג איך לעשות את זה בפדורה?
אינני מסכים לשתף את המידע, אך אם זכויות היוצרים אינן ממוקמות מכיוון שהדוגמה הזו נעשתה על ידי מאז 2011 והנה כתובת המקור המקורי.
http://hugo4295.blogspot.mx/search?q=MYSQL
אין בעיה ויקטור, אבל אם אתה שם לב שלא לקחתי את המאמר מהאתר שלך, אלא מאחר שבו למרבה הצער הם לא שמו את המקור. עם זאת, כרגע אני עורך את המאמר .. 😉
שיתוף מעולה ידע חופש גדול
ואיך ניתן להכניס ???