0

My Question -- If I use mysql_connect as many times to connect to database, will my application create those many connections?

For example : In my website(www.cricandcric.com), For populating the menu bar items from DB, I am using the database connection "mysql_connect', to connect and retrieve and display the items

and In the same page, I have a News Section, to populate the News, I am using the Mysql_connect to connect to the database and retrieve the news which is been updated and show it to the users

Similarly If a page has multiple sections, I am using separate mysql_connect object individually and connect to DB and display the data to Users.

Is this a Good practice? or for the complete website Do I need to maintain a SINGLE mysql_connect connection object for all the sections,

Please check, www.cricandcric.com, in the Home page, I have the following section, 1)Menu bar,

2)scorecard below the Logo

3)Cricket schedule..

4) India Cricket News

etc...

What is the best practice to use the MYSQL_CONNECT?

The problem which I am facing is, My server running out of Memory if suddenly 2000 users come at ONE shot, solution is I need to restart my server to fix this problem, so I am thinking what is the best way to fix this issue?

gmhk
  • 15,598
  • 27
  • 89
  • 112
  • 1
    Note that the mysql extension is on its way to deprecation. At this point, you should be using mysqli or PDO (though your question still applies to them). – outis Sep 06 '11 at 04:14
  • Are you asking about multiple calls to the DB connection function when handling a single request, across multiple requests (a feature called "persistent connections"), or both? – outis Sep 06 '11 at 04:17
  • @outis, The problem what i am facing is, if 2000 users comes to the site at one shot, My Memory utilisation is going for toss, when I asked my server guys they said me to optimise the connections and its objects, – gmhk Sep 06 '11 at 04:25
  • That doesn't answer my question. Please re-read it. – outis Sep 06 '11 at 04:36
  • @outis, yes, you got my question right. What is the better approach for this problem? Can i define the DB Connection in a config file and INCLUDE that file, where ever I use to connect to database, will this approach ensure one connection per single request.. – gmhk Sep 06 '11 at 04:40
  • I wasn't making a statement about your question, I asked my own in an attempt to clarify yours. At it stands, your question isn't clear enough to answer. "One connection per single request" suggests you're not asking about [persistent connections](http://stackoverflow.com/questions/3332074/what-are-the-disadvantages-of-using-persistent-connection-in-pdo). In other words, you're interested in the first of the three possibilities I asked about. Is this correct? (Note: another name for "persistent connections" is "connection pooling".) – outis Sep 06 '11 at 04:59

1 Answers1

2

If you always use the same credentials and only 3 parameters for mysql_connect, it will use the same link to the database. For example, the second time you use it, PHP won't open a new link, it will juts use the resource that was created the 1st time. So your app is using one db connection for all the "sections" it loads, which is the best practice. You can change this and to open a new link each time mysql_connect is called by passing a 4th parameter as "true".

agarassino
  • 300
  • 1
  • 5