logo

מבוא ל-PHP PDO

PHP היא שפת סקריפטים למטרות כלליות בקוד פתוח, שנמצאת בשימוש נרחב ליצירת דפי אינטרנט דינמיים ואינטראקטיביים. PHP יכולה לגשת למגוון גדול של מערכות ניהול מסדי נתונים יחסיים כגון MYSQL, SQLite , ו PostgreSQL . ה PHP 5.1 הגרסה הציעה ספריית הפשטה חדשה של חיבור מסד נתונים, כלומר אובייקטי PHP נתונים (PDO).

מה זה PDO?

PDO מתייחס אובייקט נתונים של PHP , שהיא תוסף PHP המגדיר ממשק קל משקל ועקבי לגישה למסד נתונים ב-PHP. זוהי קבוצה של הרחבות PHP המספקות מחלקת PDO ליבה ומנהל התקן ספציפי למסד נתונים. כל מנהל התקן של מסד נתונים יכול לחשוף תכונות ספציפיות למסד נתונים כפונקציית הרחבה רגילה המיישמת את ממשק PDO.

הערה: איננו יכולים לבצע כל סוג של פונקציית מסד נתונים באמצעות סיומת PDO עצמה. כדי לגשת לשרת מסד נתונים, עלינו להשתמש במנהל התקן PDO ספציפי למסד נתונים.

PDO מתמקד בעיקר בהפשטת גישה לנתונים ולא בהפשטת מסד נתונים. זה מספק שכבת הפשטה של ​​גישה לנתונים , כלומר, ללא קשר לאיזה מסד נתונים אנו משתמשים, עלינו להשתמש באותן פונקציות המסופקות על ידי מסד נתונים זה כדי להנפיק שאילתות ולאחזר נתונים. PDO אינו מספק הפשטת נתונים, מכיוון שהוא אינו משכתב את ה-SQL או מחקה תכונות חסרות.

יתרון של PDO

PDO מספק דרכים שונות לעבוד עם אובייקטים ומחזיר הצהרות מוכנות שהופכות את העבודה להרבה יותר קלה. זהו כלי גישה לבסיסי נתונים ב-PHP שדרכו אנו מאפשרים גישה אחידה על פני מספר מסדי נתונים.

PDO מאפשר מעבר חלק יחסית בין מסדי נתונים ופלטפורמות שונות, שניתן לעשות בקלות על ידי שינוי מחרוזת החיבור. הוא אינו תומך בתחבירים ספציפיים למסד נתונים.

ישנם כמה יתרונות של PDO כדלקמן:

    תמיכה במסד נתונים
    סיומת PDO יכולה לגשת לכל מסד נתונים שנכתב עבור מנהל התקן PDO. ישנם מספר מנהלי התקנים PDO זמינים המשמשים עבור FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , ו PostgreSQL מסדי נתונים, בין רבים נוספים.
    הדרייברים לא זמינים בכל מערכת באופן אוטומטי, ולכן עלינו למצוא את הדרייברים הזמינים שלנו ולהוסיף כאלה כשאנחנו צריכים אותם.חיבור מסד נתונים
    ישנם תחבירים שונים זמינים ליצירת חיבור מסד הנתונים. תחבירים אלה תלויים במסדי נתונים ספציפיים. בזמן השימוש ב-PDO, יש לעטוף את הפעולות בבלוקים של ניסיון/תפוס ולהשתמש בטכניקת החריגה.
    בדרך כלל, רק חיבור בודד צריך ליצור, וחיבורים אלה נסגרים על ידי תכנות מסד הנתונים כך שהוא ריק.טיפול בשגיאות
    PDO מתיר להשתמש בחריגים לטיפול בשגיאות. כדי לייצר חריג, ניתן לאלץ את PDO לתוך תכונת מצב שגיאה רלוונטית.
    ישנם שלושה מצבי שגיאה, כלומר, שקט (בְּרִירַת מֶחדָל), אַזהָרָה , ו יוצא מן הכלל . אזהרה וחריגה שימושיים יותר בתכנות DRY.
      שקט- זהו מצב שגיאה ברירת מחדל.אַזהָרָה- זה שימושי לניפוי באגים.יוצא מן הכלל- מצב זה מאפשר טיפול בשגיאות חינני תוך הסתרת נתונים שאדם עשוי להשתמש בהם כדי לנצל את המערכת שלך.
    הוסף ועדכן
    PDO מצמצם את פעולת ההוספה והעדכון הנפוצה של מסד הנתונים לתהליך דו-שלבי, כלומר.
    הכן >> [כריכה] >> בצע.
    באמצעות שיטה זו נוכל לנצל את מלוא ההצהרות המוכנות של PDO, המגנות מפני התקפות זדוניות באמצעות הזרקת SQL.
    הצהרות מוכנות הן הצהרות SQL שהורכבו מראש שניתן לבצע מספר פעמים על ידי שליחת נתונים אלה לשרת. נתונים אלה, המשמשים בתוך מציין המיקום, מוגנים אוטומטית מפני התקפת הזרקת SQL.

יתרונות השימוש ב-PDO

PDO הוא מנהל ההתקן המקורי של מסד הנתונים. ישנם כמה יתרונות של שימוש ב-PDO המובאים להלן:

    שְׁמִישׁוּת- הוא מכיל פונקציות עוזר רבות להפעלת פעולות שגרתיות אוטומטיות.שימוש חוזר- הוא מציע את ה-API המאוחד לגשת למספר מסדי נתונים.בִּטָחוֹן- הוא משתמש במשפט מוכן שמגן מפני הזרקת SQL. משפט מוכן הוא משפט SQL שהורכב מראש המפריד בין ההוראה של משפט ה-SQL לבין הנתונים.

שיעורי PDO

ישנן שלוש מחלקות PDO, הניתנות להלן:

    PDO- הוא מייצג חיבור בין PHP למסד הנתונים.הצהרת PDO- הוא מייצג את ההצהרה המוכנה ולאחר ביצוע ההצהרה, קובע תוצאה משויכת.PDOException- זה מייצג שגיאות שהועלו על ידי PDO.

מסדי נתונים נתמכים על ידי PDO

  1. MySQL
  2. PostgreSQL
  3. נבואה
  4. ציפור אש
  5. MS SQL Server
  6. Sybase
  7. אינפורמיקס
  8. IBM
  9. FreeTDS
  10. SQLite
  11. קובריד
  12. 4D

השוואה בין PDO ל-MySQLi

כדי לגשת למסד הנתונים באמצעות PHP, יש לנו בעיקר שתי אפשרויות - MySQLi ו PDO (PHP Data Object). MySQLi הוא מקור עבור PHP המספק ביצועים מהירים יותר, בעוד שרוב המפתחים המנוסים מעדיפים לעבוד עם PDO מכיוון שהוא תומך במגוון רחב של מנהלי התקנים של מסד נתונים. ישנם כמה הבדלים בין PDO ל-MySQLi המפורטים להלן על סמך התכונות שלהם.

מאפיינים PDO MySQLi
תמיכה ב-DB 12 נהגים שונים MySQL בלבד
חיבור קַל קַל
ממשק API לִפְתוֹחַ OOP + נוהל
ביצועים מָהִיר מָהִיר
פרמטר בשם כן לא
מיפוי אובייקטים כן כן
נוהל מאוחסן כן כן
הצהרות מוכנות בצד הלקוח כן לא
בִּטָחוֹן מאובטח יותר מ-MySQLi. מאובטח אך לא יותר מ-PDO.

מה יש להעדיף בין PDO או MySQLi?

גם ל-PDO וגם ל-MySQLi יש יתרונות משלהם:

  • כפי שראינו קודם לכן ש-PDO עובד על 12 מערכות מסד נתונים שונות, בעוד MySQL יכול לעבוד רק עם מסד נתונים של MySQL. לכן, אם אנחנו רוצים להעביר את הפרויקט שלנו למסד נתונים אחר, PDO מקל על זה. ב-MySQLi, עלינו לשכתב את כל הקוד.
  • PDO ו-MySQLi שניהם מונחה עצמים, אך MySQLi מציעה גם API פרוצדורלי. שניהם תומכים בהצהרות מוכנות. הצהרות מוכנות חשובות לאבטחת יישומי אינטרנט, מכיוון שהיא מגינה מפני הזרקת SQL.

דְרִישָׁה

אין צורך בספריות חיצוניות כדי לבנות את ההרחבה הזו.

תהליך התקנה

שלב 1: הורד את שרת XAMPP העדכני ביותר מכאן https://www.apachefriends.org/download.html עבור פלטפורמות שונות כמו Windows, Linux ו- MacOS.

זוג java
Phppdo

הערה: כאן נדון בתהליך ההתקנה עבור מערכת ההפעלה Windows בלבד.

שלב 2: התקן את שרת XAMPP במערכת שלך על ידי ביצוע השלבים הבאים.

Phppdo

שלב 3: בחר את הרכיבים שברצונך להתקין ולחץ על כפתור הבא.

Phppdo

שלב 4: צור את התיקיה החדשה עם השם xampp במיקום שבו ברצונך להתקין את XAMPP.

Phppdo

שלב 5: לחץ כאן על הבא והתקדם. ההתקנה של שרת XAMPP תתחיל מכאן.

Phppdo

שלב 6: XAMPP מותקן בהצלחה. לחץ על כפתור סיום.

Phppdo

שלב 7: בחר את השפה המועדפת.

Phppdo

שלב 8: הפעל מכאן את שרת Apache ואת MySQL (לפי צילום המסך הנתון).

Phppdo

שלב 9: כעת, פתח את php.ini מ C:/xampp/php/php.ini (היכן התקנת את ה-XAMPP שלך) ובטל את ההערה על התוסף 'php_pdo_mysql.dll' ו 'php_pdo.dll' (אם אתה עובד עם מסד נתונים MySQL), או 'php_pdo_oci.dll' (אם אתה עובד עם מסד נתונים של Oracle). כעת, התחל לעבוד עם מסד הנתונים. בגרסה העליונה של PHP 5.1, זה כבר מוגדר.

עבודה עם PDO

ראשית עלינו ליצור מסד נתונים, אז צור מסד נתונים בשם myDB מכאן.

Phppdo

חיבור למסד נתונים

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

כעת, צור את תוכנית חיבור מסד הנתונים באמצעות PDO בכל עורך טקסט כגון פנקס רשימות או פנקס רשימות++ ושמור אותה לפי שם coonection.php. הפעל אותו בשרת XAMPP באמצעות localhost/80.

דוגמא

 getMessage(); } ?> 

תְפוּקָה

הפעל אותו בשרת באמצעות כתובת האתר הבאה localhost/Xampp/pdoexample/connection.php/ או היכן שמרת את התוכנית שלך.

Phppdo

טיפול בשגיאת חיבור

אובייקט PDOException ייזרק אם יש שגיאת חיבור כלשהי. אנו עשויים לתפוס את החריג אם ברצוננו לטפל במצב השגיאה, או שנוכל גם להשאיר אותו למטפל חריגים גלובלי שניתן להגדיר על ידי set_exception_handler() פוּנקצִיָה.

דוגמא

בדוגמה זו, dbUser(user-id) שגוי, ולכן הוא יזרוק חריג, כפי שאנו יכולים לראות בפלט.

 setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?> 
Phppdo

סגירת חיבור מסד הנתונים

 getMessage(); } // this command close the connection. $dbConn = null; ?> 

תְפוּקָה

Phppdo