ABA


"PHP,HTML,MYSQL - עזרה באחסון נתונים ב DB מטבלה,"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10694 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10694
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   17:32   13.05.12   
אל הפורום  
  PHP,HTML,MYSQL - עזרה באחסון נתונים ב DB מטבלה,  
 
   האם הכנסת תוכן ל DB באמצעות פונקציות של PHP ולא stored procedure וכד' זה דבר תקין?

קיבלתי משימה קטנה בעבודה.
בעיקרון בניתי פונקציה ב PHP שמקבלת פרמטרים ואז מכניסה ישירות לשורת פקודה של ה insert ל DB.

השאלה היא מה מקובל?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  שאלה יותר נכונה אולי, למה משתמשים ב stored procedure? dvir8 13.05.12 20:40 1
     מכתב ziper  13.05.12 20:58 2
         תודה רבה על ההסבר! dvir8 13.05.12 23:49 4
     stored procedures מיועדים CaTz 13.05.12 23:04 3
         כלומר, dvir8 13.05.12 23:53 5
             זה לא מה שהוא אמר. משתמשים ב-STORED PROC. במקרה Ice Cold  14.05.12 13:00 6
                 תודה! dvir8 14.05.12 14:05 7
  בנוסף למה שחברי כאן רשמו ShlomiC 15.05.12 20:19 8
  תודה לכולם. dvir8 16.05.12 20:45 9

       
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   20:40   13.05.12   
אל הפורום  
  1. שאלה יותר נכונה אולי, למה משתמשים ב stored procedure?  
בתגובה להודעה מספר 0
 
   אני יכול לרשום ישירות את הפקודה לא?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ziper 
חבר מתאריך 29.12.02
17045 הודעות
   20:58   13.05.12   
אל הפורום  
  2. מכתב  
בתגובה להודעה מספר 1
 
   http://php.net/manual/en/security.database.sql-injection.php


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   23:49   13.05.12   
אל הפורום  
  4. תודה רבה על ההסבר!  
בתגובה להודעה מספר 2
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
CaTz
חבר מתאריך 2.10.04
14537 הודעות
   23:04   13.05.12   
אל הפורום  
  3. stored procedures מיועדים  
בתגובה להודעה מספר 1
 
   יותר לביצוע פונקציות שלמות על גבי הDB,
נגיד אם יש לך כמה פעולות על הDB, נגיד עדכון של כמה טבלאות שונות,
שאתה רוצה שיבוצעו מבחינת ה-DB בטרנזקציה אחת.

כלומר רצץ של כמה פעולות על גבי הDB שמבחינה לוגית הן קשורות אחת לשנייה

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   23:53   13.05.12   
אל הפורום  
  5. כלומר,  
בתגובה להודעה מספר 3
 
   ערכתי לאחרונה בתאריך 14.05.12 בשעה 00:03 בברכה, dvir8
 
אם לדוגמא יש לי יחסים בין טבלאות כלומר קישורית מסוימת ותלות אז כדאי להשתמש ב stored procedures?

לדוגמא מטבלת יחיד אל רבים או מרבים אל יחיד
והקשחה של כפילויות וכד'.

השאלה איך זה עוזר לי מבחינת כתיבה (תאכלס)
מה ההבדל בין לבנות לולאה שמקבלת פרמטרים ומעבירה לפונקציה אשר עושה כמה פקודות של insertion ו select ועוד כמה פונקציות sql-יות וככה רץ מספר פעמים לעומת לולאה שמריצה את ה stored procedure כמה פעמים.

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

דבר נוסף,
האם דרך PhpMyAdmin ניתן להגדיר פרוצדרות או שעלי לבנות זאת בעזרת query ב php עצמו?
כי ב sql managment לדוגמא יש המון אופציות מאשר ב phpmyadmin.

תודה רבה!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   13:00   14.05.12   
אל הפורום  
  6. זה לא מה שהוא אמר. משתמשים ב-STORED PROC. במקרה  
בתגובה להודעה מספר 5
 
ואתה צריך להכניס/לעדכן/למחוק כמה וכמה רשומות בפעולה אחת. במקום להפעיל 20 שאילתות ב-PHP אתה יכול לבנות STORED PROCEDURE שיעשה את כל זה, ויחזיר לך פלט מתאים.

למשל:

אתה צריך לשלוף שאילתא מ-2 טבלאות, בהתאם לזה ליצור 4 רשומות חדשות ולמחוק 2 מטבלה אחרת, והתהליך הזה הוא קבוע. במקום ליצור 7 שאילתות אתה יוצר PROCEDURE אחד שעושה את כל זה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   14:05   14.05.12   
אל הפורום  
  7. תודה!  
בתגובה להודעה מספר 6
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShlomiC
חבר מתאריך 4.1.08
17501 הודעות
   20:19   15.05.12   
אל הפורום  
  8. בנוסף למה שחברי כאן רשמו  
בתגובה להודעה מספר 0
 
   נשתמש בSP גם בשביל פעולות שמבצעים בכמה מקומות שונים , כך שנשנה רק את הSP והכל ישתנה אוט'.

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   20:45   16.05.12   
אל הפורום  
  9. תודה לכולם.  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net