הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 04-05-10, 19:31   # 1
SniR-S
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Aug 2008
הודעות: 546

SniR-S לא מחובר  

הרצת שאילתות בצורה מסודרת

איך אתם מריצים מספר / כמה שאילותות ?
כי זה נראה לי קצת מוזר כל פעם לכתוב mysql_query
לכל שאילתא, אני יודע שיש אופציות שונות להריץ שאילתות מרובות
בצורה מסודרת יותר.

כמו מערך, לדוגמא
PHP קוד:
$queries = array("INSERT INTO .......",
    
"INSERT INTO .......",
    
"INSERT INTO .......",
    
"INSERT INTO .......",
    
"INSERT INTO .......",
);

mysql_query($queries); 
או שאני אמור לעבוד עם foreach ? ככה
PHP קוד:
$queries = array("INSERT INTO .......",
    
"INSERT INTO .......",
    
"INSERT INTO .......",
    
"INSERT INTO .......",
    
"INSERT INTO .......",
);

foreach (
$queries as $query) {
    
mysql_query($query);

זה אמור לעבוד לא ?

Last edited by SniR-S; 04-05-10 at 19:46..
  Reply With Quote
ישן 05-05-10, 10:36   # 2
benb
חבר בקהילה
 
benb's Avatar
 
מיני פרופיל
תאריך הצטרפות: Apr 2010
הודעות: 138

benb לא מחובר  

אפשר להכניס כמה שורות בשאילתא אחת, זה הסינטקס

קוד:
INSERT INTO customers(cust_name,
   cust_address,
   cust_city,
   cust_state,
   cust_zip,
   cust_country)
VALUES(
        'Pep E. LaPew',
        '100 Main Street',
        'Los Angeles',
        'CA',
        '90046',
        'USA'
     ),
      (
        'M. Martian',
        '42 Galaxy Way',
        'New York',
        'NY',
        '11213',
        'USA'
   );
ואז אתה מריץ אותה פעם אחת כמו בדוגמא הראשונה שלך, בלי foreach
  Reply With Quote
ישן 05-05-10, 18:15   # 3
SniR-S
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Aug 2008
הודעות: 546

SniR-S לא מחובר  

אני יודע, אבל נניח שיש לי שאילתות של כמה טבלאות ..
  Reply With Quote
ישן 05-05-10, 18:42   # 4
benb
חבר בקהילה
 
benb's Avatar
 
מיני פרופיל
תאריך הצטרפות: Apr 2010
הודעות: 138

benb לא מחובר  

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

קוד:
BEGIN
  START TRANSACTION;
  INSERT INTO a VALUES (NULL, input_a);
  INSERT INTO b VALUES (NULL, last_insert_id(), input_b);
  COMMIT;
END;
צריך למצוא את הסינטקס הנכון ל PHP כי זה סינטקס שמריצים ב SQL
  Reply With Quote
ישן 05-05-10, 18:46   # 5
SniR-S
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Aug 2008
הודעות: 546

SniR-S לא מחובר  

אוקי תודה !
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 12:31.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ