גש ל- MySQL באמצעות C

בעזרת מדריך זה אני מציג בפני הקהילה כיצד לגשת למסד נתונים של 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. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   קוראצוקי דיג'ו

    כל הכבוד, שמור בארסנל התסריטים וההדרכות שלי בקונסולה! +1 בשבילך השותף ...

  2.   רודריגו דיג'ו

    שלום, ברכות רבות על כל מה שיש באינטרנט בנושא זה, שלך היה הכי קרוב לפיתרון. רק קצת ספק, למה אני לא משיג את ההפעלה ??

    בזמן comillar זה לא מסמן שום שגיאה אבל הוא לא מייצר את ./ser4

  3.   אנדרלו דיג'ו

    יש לך מושג איך לעשות את זה בפדורה?

  4.   ויקטור דה לה או דיג'ו

    אינני מסכים לשתף את המידע, אך אם זכויות היוצרים אינן ממוקמות מכיוון שהדוגמה הזו נעשתה על ידי מאז 2011 והנה כתובת המקור המקורי.

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

    1.    אלב דיג'ו

      אין בעיה ויקטור, אבל אם אתה שם לב שלא לקחתי את המאמר מהאתר שלך, אלא מאחר שבו למרבה הצער הם לא שמו את המקור. עם זאת, כרגע אני עורך את המאמר .. 😉

  5.   אלפונסו אובידיו לופז מוראלס דיג'ו

    שיתוף מעולה ידע חופש גדול

  6.   דניאלה פרננדז דיג'ו

    ואיך ניתן להכניס ???