|
|
|
|
פורסם: 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. משהו כמו -
בהנחה שזו רשימה של מחרוזות. אחרת תעביר אותה דרך איזה map עם str או repr.
|
|
חזרה לתוכן הדיון |
פורסם: 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) |
|
|
חזרה לתוכן הדיון |
פורסם: 12/03/2015 - 12:12
נושא ההודעה:
|
שים לב שזה רעיון רע מאוד ליצור בצורה כזו שאילתות, SQL Injection אורב לך מעבר לפינה.
עדיף לך להשתמש ב-parameter binding של הספריה שאתה עובד עימה מול בסיס הנתונים.
|
|
חזרה לתוכן הדיון |
פורסם: 12/03/2015 - 12:20
נושא ההודעה:
|
mksoft : | שים לב שזה רעיון רע מאוד ליצור בצורה כזו שאילתות, SQL Injection אורב לך מעבר לפינה.
עדיף לך להשתמש ב-parameter binding של הספריה שאתה עובד עימה מול בסיס הנתונים. |
למי מופנת התגובה?
במידה וזה מופנה אלי איך כן היית עושה את זה?
|
|
חזרה לתוכן הדיון |
פורסם: 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 נכונים.
|
|
חזרה לתוכן הדיון |
|
|
|
|