ערכתי לאחרונה בתאריך 26.08.08 בשעה 13:27 בברכה, akoka
יש לי מחלקה שנועדה לעבוד עם הDB ,עכשיו יש פונקציה שמבצעת מימוש לmysql_query אני עושה אותה ככה public function run_query($q) { return mysql_query($q,$this->handleConnection[$this->connections]) or die(mysql_error($this->handleConnection[$this->connections])); }
|
קיצר הקוד הזה אמור לעבוד כי בכול זאת הפונקציה הזאת מחזירה גם bool אם הפעולה מצליחה וגם resource של mysql_result שמחזיק את כול התוצאות.
אבל לא הפונקציה למעלה לא עובדת, שאני מציב מופע שלה בתוך משתנה ואז משתמש בfree_Result/num_rows סתם כדי לספור את השורות ולשחרר את התוצאות ,2 הפונקציות מחזירות לי שגיאה שהנתון שמתקבל הוא לא משאב,ותסלחו לי מאוד הפתרון שמצאתי לזה ממש עיצבן אותי.
בתוך הפונקצית מחלקה אני צריך להכניס את הmysql_query אל תוך משתנה ואז להחזיר את אותו משתנה.
זה הפתרון
public function run_query($q) { $query = mysql_query($q,$this->handleConnection[$this->connections]) or die(mysql_error($this->handleConnection[$this->connections])); return $query; }
|
למה אני לא יכול להחזיר את הפונקציה ישר?
כאילו זה לא שאני זורק את הפונקציה סתם בתוך mysql_num_rows ,אני קודם מכניס אותה למשתנה ואז רק עושה עליה את מה שאני צריך.
אגב במפורש כתוב באתר של PHP.NET למתחכמים שבניכם שהפונקציה מחזירה את resource.
resource mysql_query ( string $query [, resource $link_identifier ] )
|