בסופו של דבר אתה צריך לבנות שאילתות מתאימות שמקבלות פרמטרים ומחזירות לך את התוצאות. לדוגמה עבור דוח נוכחות אתה צריך לכתוב שאילתא שמקבלת שם משתמש ותאריך, ומחזירה לך דוח נוכחות של העובד.בשלב הראשון תבנה את השאילתות מבלי לקבל פרמטרים, לדוגמה תכתוב שאילתת דוח נוכחות על שם משתמש ספציפי ותאריך ספציפי. אחרי שסיימת לייעל אותה ואתה רוצה מהתוצאה, אתה רוצה להפוך אותה לשאילתא עם פרמטרים.
יש שתי דרכים לבצע את זה:
1. לכתוב פונקציות ב-DB עצמו. ב-mysql ספציפית יש לך מנגנון שנקרא Functions - אתה יכול ליצור פונקציה שמקבלת את הפרמטרים, מריצה את השאילתא ומחזירה את התוצאות. דרך הקוד אתה יכול כמובן להתחבר ל-db ולהשתמש בפונקציות שכתבת.
2. לכתוב פונקציות בצד השרת.
במסגרת פרויקטים משתמשים בשתי האופציות כאשר יש לכל אחת מהן יתרונות וחסרונות. היתרון של כתיבת פונקציות במסד עצמו מקל לפעמים על תהליך של עדכון גרסאות. אם אתה רוצה לטייב או לשנות את השליפה, אתה פשוט צריך לשנות את הפונקציה ב-DB ולא לפרוס גרסה מחדש גרסה שלמה של האתר. החסרון הוא שלפעמים אתה צריך לשנות את הקוד בשני מקומות, למשל אם אתה רוצה להחזיר שדה נוסף אז אתה תצטרך לעדכן גם את הפונקציה ב-DB וגם את הקוד בשרת. חסרון נוסף הוא שהרבה פעמים נוח יותר לכתוב את השאילתות בצד השרת מאשר להשתמש במנגנון הפונקציות של ה-DB.
בשני המקרים כדאי לממש CLASS ייעודי שדרכו אתה מבצע את התקשורת עם ה-DB. בז'רגון המקצועי זה נקרא Data Access Layer או בקיצור DAL - שווה לך להעמיק בזה באינטרנט. ודבר אחרון: שים לב לבצע את ה-binding בצורה בטוחה (ע"ע sql injection).