עבור לתוכן

שגיאה בהרצת פקודת SQL לבחירת נתונים מטבלה (PHP)

Featured Replies

פורסם

שלום,

בקיצור ולעניין, יש לי דף שאמור לבחור נתונים מטבלה מסויימת איפה שעמודת ה ID שווה למשתנה שהוא מקבל.

הדף מקבל ב GET (דרך כתובת העמוד) את המשתנים f ו- t ומשתמש בהם כדי ליצור את הפקודה להרצה.

הפקודה הבאה עובדת:

$result = mysql_query("SELECT * FROM forum" . $_GET['f']);

אבל כשאני רוצה להוסיף את הבחירה מעמודה מסויימת:

$result = mysql_query("SELECT * FROM forum" . $_GET['f'] . "WHERE ID=" . $_GET['t']);

אני מקבל שגיאה.

וגם כשניסיתי ככה זה לא עבד:

$result = mysql_query("SELECT * FROM forum" . $_GET['f'] . "WHERE ID=1");

השגיאה לא רלוונטית, הבעיה היא תחבירית, מישהו יכול לומר לי איך המשפט אמור להראות?

--

במקרה הזה f=2 , t=1 , ושם הטבלה הוא forum2 והשורה שאני רוצה היא השורה ש ID=1.

ID מוגדר כ int.

תודה.

פורסם

אתה לא שם רווחים בשרשורים שלך ולכן זה משתגע לך.

זה צריך לעבוד:

$result = mysql_query("SELECT * FROM forum " . $_GET['f'] . " WHERE ID=" . $_GET['t']);

פורסם
  • מחבר

באמת לא שמתי לב לזה.

תודה רבה, עבד (עם שינוי קטנטן - הרווח בין ה forum ל " מיותר).

פורסם

יש לך טבלה לכל פורום? זה לא נכון לתכנן את המערכת שלך בצורה הזו.

פורסם
  • מחבר

מאיזה בחינה זה לא נכון? יעילות? מקום?

האמת שיש לי עוד כמה רעיונות, כמו טבלה של כל הנושאים וטבלה של כל התגובות או טבלה משותפת לכל ההודעות,

וקישור של הנושאים לטבלה של הפורמים וקישור של התגובות לנושאים.

יש לך המלצות?

פורסם

זה לא נכון מבחינת עיצוב המערכת. יעזור אם תגיד איזה סוג פורום אתה בונה(עץ או כמו שיש כאן).

פורסם
  • מחבר

כמו כאן.

פורסם

אתה יכול ליצור טבלה של תראדים, טבלה של הודעות וטבלה של פורומים.

כל תראד תקשר לפורום, וכל הודעה תקשר לתראד.

פורסם
  • מחבר

כן, זה דומה למה שחשבתי.

נראה לי שאני איישם את הרעיון הזה.

ככה המערכות המוכרות פועלות?

פורסם

כו.

פורסם
  • מחבר

אחלה, תודה.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים