576
צפיות
צפיות
4
תשובות
תשובות
רשומות נעלמות לי מה-DB
אני עובד על 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 תשובות
לא בטוח שזו הסיבה, אבל
יש מצב (ולמעשה, גם מאוד הגיוני) שגם id וגם name הן מילים שמורות לפחות ב SQL, ויכול להיות שגם ב php (למרות שזה ניחוש פרוע, אפפעם לא היה לי כוח לשבת ללמוד גם את השפה הזו).
לא שזה מסביר התעלמות משורה ספציפית, אבל זה יכול אולי לגרום לבעיות בהמשך האתר, במקומות אחרים.
נראה לי שפשוט תאלץ להמתין למישהו שמבין ב php, כי זה לא נשמע כמו שגיאה של מסד הנתונים או של השאילתה.
פתרתי, אבל זו עדיין תעלומה
את הרשומה הסוררת הוספתי דרך phpMyAdmin, והוא אכן הראה אותה, אבל הקוד שלי לא הגיע אליה. לבסוף הוספתי את הרשומה דרך PHP. הקוד שלי הראה אותה, וגם phpMyAdmin אישר את קיום רשומה כזאת. אני עדיין לא יודע למה phpMyAdmin הראה את הרשומה ו- PHP לא, אבל זאת כנראה תשאר תעלומה.
וואי אני מרגיש כמו בסוף פרק של X Files.
שאלה
דבר ראשון מצטער אם אני מפספס משהוא פשוט העיניים שלי לא נעצמו ב 24 שעות האחרונות ואני על סף קריסה.
דבר שני, למה אתה רושם sql בימקום mysql? ולמה זה sql_fetchrow בימקום mysql_fetch_array?
זה משהוא חדש שלא סיפרו לי עליו?
תשובה
אימצתי את הרעיון של PHP-Nuke של כתיבת קלאס בשביל ה- DB (קראתי לו $db) כי תיכננתי לעבור שרת מ- MySQL.
באמת שכחתי לציין את זה בהודעה.