ajoo Posted October 11, 2013 Share Posted October 11, 2013 Hi, Please can someone suggest if I need to connect to the database again and again if my main program calls subroutines which also need to connect to the SAME database or is there an alternative method by which I don't have to do this again and again. I read somewhere that connecting to the database time and again is a big waste of time resource. I'll also try and illustrate my problem ///////////////////////////// main.php ////////////// <?php mysqli_connect(host, user, pass, db) // makes a connection to a database DB get_field_1(); // a function in another file say functions.php ?> //////////////////// functions.php //////////// <? function get_field_1() { mysqli_connect(host, user, pass, db) mysqli_connect(...) get_field_2(); // calls another fucntion in functions.php return val1; } function get_field_2() { mysqli_connect(host, user, pass, db) mysqli_connect(...) return val2; } ?> //////////////// END /////////////////// Is there a way by which I can avoid calling the following two lines within each function? mysqli_connect(host, user, pass, db) mysqli_connect(...) In fact I would like to call it just once in main and not have to call it again and again. Thanks. Quote Link to comment https://forums.phpfreaks.com/topic/282890-functions-within-functions-and-database-connect-issue/ Share on other sites More sharing options...
Solution Barand Posted October 11, 2013 Solution Share Posted October 11, 2013 Typically, connection to a database takes far longer than the query so you only want to connect once per page. Store the result from mysqli_connect() in a variable (your connection object) and pass it as a parameter to those functions that need it. Quote Link to comment https://forums.phpfreaks.com/topic/282890-functions-within-functions-and-database-connect-issue/#findComment-1453564 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.