שאלה בנוגע ל SQL

push20

New member
שאלה בנוגע ל SQL

שלום, יש עגלת קניות. כאשר לוחצים על "מחק" זה אמור למחוק את הפריט הנוכחי מרשימת הפריטים. אך בעיה נוצרת כאשר יש מספר פריטים בעלי אותו ה ID השאילתה מוחקת את כולם. זאת השאילתה:
"delete from cart where product_id ='".$_GET['productremove']."' and session_id = '".session_id()."'") or die (mysql_error());​
איך אני יכול להגביל את השאילתה למחוק רק שורה אחת? תודה רבה!
 

kingyes

New member
ממממ...

לא הבנתי אותך. איך בנית את השאילה ואיך אתה מכניס לה נתונים, לפי איזה שורה אתה מתחשב? אבל אני ינסה לעזור לפי מה שהבנתי: נכון שאתה רוצה ליצור שאילתא שתמחוק את כל הפריטים שה-product_id שווה אל ה-ID השמור ב-Seesion. אז תכתוב ככה:
delete from cart where product_id ='".$_GET['productremove']​
הקוד יעבוד במידה שיש GET שהוא 'productremove'. בהצלחה! יקיר.
 

yair24

Member
נראה אם הבנתי נכון:

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

yair24

Member
ואתה לא רושם מספרים?

כלומר אם קניתי שני מחשבים הם מופיעים פעמיים בעגלת הקניות? או שמופיע פעם אחת וכתוב כמות=2? יאיר
 

phntm

New member
נ"ב securety advisory

זה לא חכם לעשות _GET ישר לתוך string sql אני יכול לבוא ולקבל גישה מלאה לכל מה שה sql שלך יתן לי, אז תבדוק טוב טוב שאין סימני סוגריים ב input ודברים אחרים שיכולים לשבור אותו.
 

webmaster100

New member
הנה

"delete from cart where product_id ='".$_GET['productremove']."' and session_id = '".session_id()."'" LIMIT 1) or die (mysql_error());
 
למעלה