05-12-15, 12:21 | # 1 |
חבר בקהילה
|
מדריך | מה זה PDO איך משתמשים בPDO ולמה זה טוב
שלום לכולם,
PDO מה זה בעצם "PHP Data Objects" = "שימוש בנתונים ובאובייקטים בשפת PHP" . פעם היינו מבצעים חיבור למסד נתונים באמצעות MYSQL אך מהר מאוד האקרים הראו לנו שזה לא יעיל. אז פיתחו שיטה חדשה MYSQLI שהיא גם מהר מאוד התגלתה כלא יעילה , על מנת שנוכל להנות מצורה גמישה של התחברויות לכמעט כל סוגי מסדי הנתונים הקיימים ובצורה מאובטחת יותר משאר האופציות ויעילה ומסודרת יותר המציאות את PDO , היום אני עובד רק עם PDO לא תראו אותי מתחבר למסד נתונים בצורה רגילה , אז נתחיל : יצירת חיבור בסיסי למסד נתונים מתבצע בצורה הבאה : קוד:
<?php $dbh = new PDO('mysql:host=localhost;dbname=your_db_name', your_username, userpassword); ?> קוד:
<?php try { $dbh = new PDO('mysql:host=localhost;dbname=dbname',username,password); } catch (PDOException $e) { echo 'the error is:<br />'.$e->getMessage(); die(); //kill the connection } ?> קוד:
<?php $insert = "INSERT INTO `tablename` (`colum1`,`colum2`) VALUES (:colum1var,:colum2var)"; ?> מה שאנחנו עושים עכשיו זה 5 דברים נוספים: 1. הכנת השאילתה להרצה ע"י הפקודה prepare (ערכים : המשתנה שמחזיק את שאילתת הSQL) 2. הכנסת הערכים במקום ה"ממלאי מקום" באמצעות הפקודה bindParam (ערכים : שם ממלא המקום , שם המשתנה שמחליף אותו , אם רוצים אפשר להוסיף את סוג המשתנה לא חובה: PDO::PARAM_STR מחרוזת / PDO::PARAM_INT מספרים ) 3. מגדירים את ערכי המשתנה רק לאחר שביצענו את הפקודה bindParam על מנת למנוע כמה שפחות הזרקות קוד לשאילתה שלנו באמצעות משתנים רגילים לדוגמא: $colum1var = 'הערך שלו' וכן הלאה . 4. הוצאת הקוד לפועל באמצעות הפקודה execute() שהערכים שהיא מחזירה זה TRUE בהצלחה או FALSE שהיא לא מצליחה (נצטרך את זה בהמשך .) 5. בודקים אם הקוד פועל קשורה באמצעות תנאי IF שיבדוק את הערכים החוזרים מהפקודה execute() . אחרי שהסברתי לכם מה כל אחד ואחת מהפקודות כאן עושים להלן הקוד הסופי : קוד:
<?php $insert = "INSERT INTO `tablename` (`colum1`,`colum2`) VALUES (:colum1var,:colum2var)"; // השאילתה שלנו $insert_query = $dbh->prepare($sql); // הכנת השאילתה להרצה $insert_query->bindParam(':colum1var',$colum1var); // החלפת ממלא המקום בערך של המשתנה שנקבע $insert_query->bindParam(':colum2var',$colum2var); // החלפת ממלא המקום בערך של המשתנה שנקבע $colum1var = 'הערך של המשתנה הראשון'; $colum2var = 'הערך של המשתנה השני'; if ($insert_query->execute() == true) { // הרצת השאילתה ובדיקה אם הכול עבר חלק והפקודה בוצעה או שלא באמצעות הערכים true false echo 'insert to the database'; } else { echo 'not insert to the database'; } ?> התחברות למסד נתונים באמצעות PDO . ביצוע שאילתת INSERT . מה זה bindParam מה זה execute מה זה query מה זה perpare מה הערכים שניתן להביא לכל אחד מהם ואיך משתמשים בהם והבאנו גם דוגמאות . במידה ואראה שיש ביקוש אכתוב מדריך נוסף על פקודת הUDAPTE DELETE SELECT על אבטחת מידע במסד נתונים ועל כל מיני דברים שקשורים לשפת PHP אם יש לכם מדריך ספציפי שברצונכם ללמוד משהו ספציפי אנא שלחו לי בפרטי אשמח לפרסם בשבילכם . המדריך נכתב ע"י Programnnd לפורום HOSTS ומי שמעביר אותו הלאה אשמח שיציין זאת ! שבת שלום חברים .
__________________
XHTML - CSS3 - BOOSTRAP - JQUERY - AJAX - PHP - SQL - SECURITY SQL benworksites@gmail.com |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
כלים לאשכול | |
תצורת הצגה | |
|
|