לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 21-11-2007, 12:56
צלמית המשתמש של בן אור
  בן אור בן אור אינו מחובר  
 
חבר מתאריך: 24.02.05
הודעות: 17,595
שלח הודעה דרך ICQ אל בן אור שלח הודעה דרך MSN אל בן אור Facebook profile Follow me...
כתבתי פונקציה להתחברות לבסיס נתונים, למישהוא יש הצעות יעול?

קוד PHP:
<?php
function manageDB($sql,$password,$username,$database,$host=  'localhost'){
    
//echo $sql;
    
$mysql=@mysql_connect($host,$username,$password);  //connecting to MySQL
    
if (!$mysql) {
        return  
mysql_error($mysql);
    }
    if(!@
mysql_select_db($database,$mysql)){//selecting the DB
        
mysql_close($mysql);
        return 
mysql_error($mysql);
    }
    
$data=@mysql_query($sql,$mysql);//executing  the query
    
if(ereg("^[Ss][Ee][Ll][Ee][Cc][Tt]",$sql)){// chack if the query is a select type
        
if(!$data){
            
mysql_close($mysql);
            return 
mysql_error($mysql);
        }
        
$output=array();
        while (
$row=@mysql_fetch_array($data)){
            
$output[]=$row;
        }
        
mysql_close($mysql);
        return 
$output;
    }
    else{
        
mysql_close($mysql);
        return 
"the db edit was a success";
    }
}
?>


אני מתכנן לשים ערכי ברירת מחדל ולהשתמש בה (עם include)
על מנת לגשת לבסיס נתונים

אז כמובן שחשוב שהפונקציה תהיה יעילה ככל האפשר, למישהו יש הצעות?
זה נחשב תכנות "נכון" לנהל את ההתחברות לבסיס הנתונים בצורה כזאת?


תודה לעזורים
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 21-11-2007, 17:37
צלמית המשתמש של בן אור
  בן אור בן אור אינו מחובר  
 
חבר מתאריך: 24.02.05
הודעות: 17,595
שלח הודעה דרך ICQ אל בן אור שלח הודעה דרך MSN אל בן אור Facebook profile Follow me...
בתגובה להודעה מספר 3 שנכתבה על ידי netaneldj שמתחילה ב "האמת אני בכלל לא ממליץ להשתמש..."

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

DCD כאשר אני מריץ שאילתה אני כל פעם עושה את כל הפעולות האלו (חוץ מלקבל את מספר השורות שהושפעו משאילתה, לא כל כך משנה לי) אז אין טעם לחלק לפקודות נפרדות אז אין טעם לכתוב כמה פונקציות (ואם אין כמה פונקציות אין סיבה להשתמש במחלקה)
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 21-11-2007, 20:22
  DCD DCD אינו מחובר  
 
חבר מתאריך: 17.05.05
הודעות: 7,321
בתגובה להודעה מספר 4 שנכתבה על ידי בן אור שמתחילה ב "לפעמים כותבים select עם..."

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

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

אני חושב שבהמשך תגלה שהצעתי היא בין הנכונות.

[
עריכה:
אם תבצע זאת בעזרת מחלקה\פונקציות, אז תוכל לבצע את אותן הפעולות בדיוק אבל במסד נתונים אחר, כאשר לא תצטרך לשנות את שם הפונקציות (למרות שתצטרך לשנות את השאילתא עצמה כנראה).
]
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 12:55

הדף נוצר ב 0.05 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר