בעיה מוזרה עם return

XiroX

New member
בעיה מוזרה עם return

יש לי את הפונקציה הבאה:
function LN_Get_User_Type($user,$type) { $query="SELECT type FROM users WHERE id=".$user; $result=mysql_query($query) or die(mysql_error()." \n<hr>\n".$query."\n<br>\n line 55 on dbf.php"); //echo $query; if (isset($result)) { $row=mysql_fetch_array($result); $type=$row[type]+0; echo var_dump($type)."<br>"; return $type; } }​
var_dump מחזיר init(5) אבל הפונקציה מחזירה 0. למה זה?
 

XiroX

New member
אני לא נוהג להקפיץ אבל...

הבעיה די משגעת אותי. יש למישהו רעיון?
 

XiroX

New member
לא משנה,

מצאתי פתרון. בכל מקרה, שאלה אחרת. מישהו יודע אם בmysql_query אפשר להשתמש כתנאי, או שזה עובד רק עם die()? הכוונה שלי היא כזאת- כמעט בכל קוד קיים ברשת, השימוש בפקודה הוא כזה:
mysql_query($query) or die(...);​
השאלה שלי היא אם אפשר לשים כל פקודה שרוצים אחרי ה or, למשל return או כל דבר אחר בסגנון.
 

lizard

New member
לדעתי אתה יכול לשים כל דבר,

אני משתמש במשפט IF.
 

Terminal Frost

New member
בוודאי, הפונקציה פשוט מחזירה לך

TRUE או FALSE אם היא הצליחה או נכשלה.
 

XiroX

New member
אני לא בטח כי ניסיתי

את הסינטקס הבא-
$query="SELECT `user` FROM `users` WHERE `user`=$user AND `paswd`=$pass" $result = mysql_query($query) or return false; .....​
והוא אמר שיש לי שגיאה בסינטקס.
 

XiroX

New member
מראש- זאת דוגמה

כך שהשגיאה היא לא בגלל בעיות ספציפיות בדרך כתיבה (למשל ששכחתי ';')
 

אמיר ט

New member
מאד לא מדויק....

פונק' ב PHP לא תמיד מחזירות TRUE או FALSE, לדוגמא mysql_query מחזירה Resourse ID... הקומפיילר יודע להגיד אם הפונק' הצליחה או לא, ולפי זה הוא יודע אם ללכת ל or.... המנגנון של הצלחת פונק' הזה הוא מקרה קלאסי שמראה כמה דברים PHP "למדה" מ PERL, כי זה משהו קלאסי של PERL... וד"א, הפונק' שלא בטוחים אם הם עבדו כראוי, מחזירות בד"כ ערך מספרי שמתפרש ב IFים לערך בולאני (כלומר 0 אומר נכשל וכל מספר אחר - כולל שלילי אומר הצלחה).
 

N i X

New member
סידרתי את הבעיה באחסון ;)

מצטער, טעות שטוטית שלי עם permissions ;)
 
למעלה