ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
השואלאורח · ·
 

הודעה פורסם: 11/03/2015 - 17:48
נושא ההודעה: יש למישהו רעיון טוב יותר איך להכניס את כל המשתנים למחרוזת?

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

קוד:

'{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10},
{11}, {12}, {13}, {14}, {15}, {16}, {17}, {18}, {19},
{20}, {21}, {22}, {23}, {24}'.format(user_id, date, events[0], events[1],
 events[2], events[3], events[4], events[5], events[6],events[7], events[8],events[9], events[10], events[11],events[12], events[13], events[14], events[15], events[16], events[17], events[18], events[19], events[20], events[21], events[22])
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 11/03/2015 - 17:59
נושא ההודעה:

קוד:


'{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10},
{11}, {12}, {13}, {14}, {15}, {16}, {17}, {18}, {19},
{20}, {21}, {22}, {23}, {24}'.format(user_id, date, *events)

 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 11/03/2015 - 18:02
נושא ההודעה:

(בהנחה שאתה משתמש ב-python. זה נקרא unpacking)
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
השואלאורח · ·
 

הודעה פורסם: 11/03/2015 - 18:27
נושא ההודעה:

אז רק שניה יש מצב שאני יוכל לחסוך גם את כל ה {}?
וכן מדובר על פייתון
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 11/03/2015 - 18:36
נושא ההודעה:

אתה יכול להשתמש ב-join. משהו כמו -
קוד:


', '.join(events)


בהנחה שזו רשימה של מחרוזות. אחרת תעביר אותה דרך איזה map עם str או repr.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mad__drאורח · ·
 

הודעה פורסם: 11/03/2015 - 20:26
נושא ההודעה: Re: יש למישהו רעיון טוב יותר איך להכניס את כל המשתנים למחרוז

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

קוד:

'{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10},
{11}, {12}, {13}, {14}, {15}, {16}, {17}, {18}, {19},
{20}, {21}, {22}, {23}, {24}'.format(user_id, date, events[0], events[1],
 events[2], events[3], events[4], events[5], events[6],events[7], events[8],events[9], events[10], events[11],events[12], events[13], events[14], events[15], events[16], events[17], events[18], events[19], events[20], events[21], events[22])


תנסה את זה:
קוד:
template = '{}, '*(len(events)+2)
template.format(user_id, date, *events)
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10514 · מיקום: כדור הארץ
 

הודעה פורסם: 12/03/2015 - 12:12
נושא ההודעה:

שים לב שזה רעיון רע מאוד ליצור בצורה כזו שאילתות, SQL Injection אורב לך מעבר לפינה.

עדיף לך להשתמש ב-parameter binding של הספריה שאתה עובד עימה מול בסיס הנתונים.

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
השואלאורח · ·
 

הודעה פורסם: 12/03/2015 - 12:20
נושא ההודעה:

mksoft :
שים לב שזה רעיון רע מאוד ליצור בצורה כזו שאילתות, SQL Injection אורב לך מעבר לפינה.

עדיף לך להשתמש ב-parameter binding של הספריה שאתה עובד עימה מול בסיס הנתונים.

למי מופנת התגובה?
במידה וזה מופנה אלי איך כן היית עושה את זה?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10514 · מיקום: כדור הארץ
 

הודעה פורסם: 13/03/2015 - 11:16
נושא ההודעה:

נניח ומשתמשים ב-psycopg2 (המתאם לעבודה מול PostgreSQL) עם parameter passing, ובהנחה שהפרמטרים מסודרים לפי סדר העמודות, אז משהו בסגנון:

קוד:
params = [....]
query = 'INSERT INTO bla VALUES (' + ','.join(['%s'] * len(params)) + ')'
cur.execute(query, params)


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

ה-‎%s מציין מיקום פרמטר וידאג ל-escaping ו-quoting נכונים.

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח [השואל]
  2. אורח
  3. אורח
  4. אורח [השואל]
  5. אורח
  6. אורח [mad__dr]
  7. mksoft
  8. אורח [השואל]
  9. mksoft