זה פשוט לא עובד!

oblivion13

New member
זה פשוט לא עובד!

טוב חברה אני די חדש אז אני לא יודע מראש אם תבקשו את הקוד או לא, לכן לא הבאתי אותו כרגע. הבעיה שבא נתקלתי היא פשוטה מאוד, אני יצרתי סקריפט פשוט שעובד על שרת ומציג נתונים מתוך בסיס (בטוח שהוא קיים), שמכיל כרגע שורה אחת (בטוח!). הבעיה היא שהוא לא מדפיס את התוכן, הבעיה הכי גדולה היא שהוא לא מציג שום Syntex error. מה לעשות? להביא את הקוד? תודה מראש, אלון.
 

oblivion13

New member
הנה.... הקוד של כל העמוד

טוב אני מצרף את הקוד של העמוד, חוץ מקובץ הInclude שבדוק כי הוא עובד.
<html> <head> <?PHP include('mysql.php'); ?> <title> Daily Prophet > Admin > Add Category </title> <style> td{font: 12px Arial;} input{font: 12px Arial;} textarea{font: 12px Arial;} </style> </head> <body dir="rtl"> <table width="500" style="border: 1px solid #FFFFFF;"> <tr><td colspan="2" bgcolor="#ebebeb"> <b>הוספת קטגוריה</b></font> </td></tr> <form name="addcat" action="catact.php?act=add" method="post"> <tr> <td>שם הקטגורייה</font></td> <td><input type="text" name="name" value="" size="45"></td> </tr> <tr> <td>תיאור קטגורייה</font></td> <td><textarea rows="4" cols="45" name="description" dir="rtl"></textarea></td> </tr> <tr><td colspan="2"> <input type="reset" value="נקה טופס"><input type="submit" value="שלח טופס"> </td></tr> </form> </table> <br> <table width="500" style="border: 1px solid #FFFFFF;"> <tr> <td bgcolor="#ebebeb"><b>שם קטגוריה</b></font></td> <td bgcolor="#ebebeb"><b>אפשרויות</b></font></td> </tr> <?PHP $query = mysql_query("SELECT * FROM categories"); while(@($r = mysql_fetch_array($query))) { $name = $r["name"]; $id = $r["id"]; ?> <tr> <td><? echo $name; ?></td> <td><a href="catact.php?act=del&id=<? echo $id; ?>">מחק</a> | <a href="catact.php?act=edit&id=<? echo $id; ?>">עריכה</a></td> </tr> <?PHP } ?> </table> </body> </html>​
הכי יהרוג אותי, אם זאת תיהיה טעות קטנה....
 

bzini

New member
תתחיל ממשהו פשוט

תוריד את הסימן @ מהשורה הבאה:
while(@($r = mysql_fetch_array($query)))​
הסימן מונע החזרת שגיאה במקרה שיש כזאת. זה יקל עליך לחפש את הבעיה.
 

oblivion13

New member
איך זה צריך להיראות?

אז בעצם את השורה הזאת (שורה מספר 40) אני מחליף לשורה הזאת :
while($r = mysql_fetch_array($query))​
או זאת :
while(($r = mysql_fetch_array($query)))​
לאחר שניסיתי את הראשון הוא טען שיש לי בעיית : supplied argument is not a valid MySQL result
 

selalerer

New member
מה שהוא אומר לך זה ש...

...ב query$ אין תוצאה חוקית של שאילת mySQL, זה יכול להיות בגלל שלא עשית שאילתה כלל, או שהטקסט של השאילה לא היה טוב ולכן לא החזיר לך תוצאה, שזאת בד"כ הבעיה במצבים כאלו, תבדוק את השאילתה שלך (תדפיס אותה למסך, זה בד"כ נותן לך תשובה).
 
למעלה