שלח תשובה

זירת השאלות

576
צפיות
4
תשובות

רשומות נעלמות לי מה-DB

,‏ 10 בנובמבר, 2004

אני עובד על MySQL ו- PHP.
הטבלה שלי היא כזאת:


id | name
1   | Adobe Photoshop
2   | JASC Paint Shop Pro
3   | Adobe ImageReady
4   | Macromedia Flash


כשאני רואה את הטבלה ב- phpMyAdmin היא בידיוק כמו שצריך, אבל כשאני מריץ את השאילתה SELECT id, name FROM categories אז הרשומה השלישית לא יוצאת מה-DB.

אני מיואש… אם אני מריץ את השאילתה מ- phpMyAdmin היא עובדת בסדר גמור. הקוד שלי ב- PHP הוא:


echo "<select name="cat">";
$result = $db->sql_query("SELECT id, name FROM categories");
while ($row = $db->sql_fetchrow($result)) {
  echo "<option value="" . $row['id'] . """;
  if ($row['id'] == $cat) {
    echo " selected="selected"";
  }
  echo ">" . $row['name'] . "</option>";
}
echo "</select>";


בתודה

תגיות:

4 תשובות

  1. זהר פלד הגיב:

    לא בטוח שזו הסיבה, אבל
    יש מצב (ולמעשה, גם מאוד הגיוני) שגם id וגם name הן מילים שמורות לפחות ב SQL, ויכול להיות שגם ב php (למרות שזה ניחוש פרוע, אפפעם לא היה לי כוח לשבת ללמוד גם את השפה הזו).

    לא שזה מסביר התעלמות משורה ספציפית, אבל זה יכול אולי לגרום לבעיות בהמשך האתר, במקומות אחרים.

    נראה לי שפשוט תאלץ להמתין למישהו שמבין ב php, כי זה לא נשמע כמו שגיאה של מסד הנתונים או של השאילתה.

  2. n0p הגיב:

    פתרתי, אבל זו עדיין תעלומה
    את הרשומה הסוררת הוספתי דרך phpMyAdmin, והוא אכן הראה אותה, אבל הקוד שלי לא הגיע אליה. לבסוף הוספתי את הרשומה דרך PHP. הקוד שלי הראה אותה, וגם phpMyAdmin אישר את קיום רשומה כזאת. אני עדיין לא יודע למה phpMyAdmin הראה את הרשומה ו- PHP לא, אבל זאת כנראה תשאר תעלומה.

    וואי אני מרגיש כמו בסוף פרק של X Files.

  3. jonatan44 הגיב:

    שאלה
    דבר ראשון מצטער אם אני מפספס משהוא פשוט העיניים שלי לא נעצמו ב 24 שעות האחרונות ואני על סף קריסה.
    דבר שני, למה אתה רושם sql בימקום mysql? ולמה זה sql_fetchrow בימקום mysql_fetch_array?
    זה משהוא חדש שלא סיפרו לי עליו?

  4. n0p הגיב:

    תשובה
    אימצתי את הרעיון של PHP-Nuke של כתיבת קלאס בשביל ה- DB (קראתי לו $db) כי תיכננתי לעבור שרת מ- MySQL.

    באמת שכחתי לציין את זה בהודעה.

שלח תשובה