• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 190
  • Last Modified:

Technical Question About mysql_connect

Hi There Everybody,

i have a simple question, i hope you will understand my needs to accomplish this the better way possible .

i have all my pages calling a page called functions.inc, where i have two functions like this..

StartTheDatabase();  // Opens The Database
CloseTheDatabase;    // Closes It

Well, what is the better way to have everything done, having the least ports to the mysql server open ??

i mean, shall i StartTheDatabase() and CloseTheDatabase() Everytime I Need It, Or Shall i Start it once in the start of the page and close it at the end of it ??

i am using mysql_connect in the StartTheDatabase function, maybe changing to pconnect is better ?


the matter is that index.php includes 5 different pages, footer header and some more, and each of them accesses the database on its own way, when i load index.php in the browser, i get about 28 queries to the database to generate the page, but i need everything to be optimized to get 1 or 2 connection at maximum opened for each page load

i hope you understood my point ..

regards,
<Ruslan>
0
neostudio
Asked:
neostudio
  • 4
  • 3
1 Solution
 
BatalfCommented:
You shouldn't have to open more than one connection if the user you use to connect to the database have the desired access.

Why not use a include-file at the top of the file for the connection:

include("connect.inc");

And put the mysql_connect() in the connect.inc file. Then this db-connection would be available to you during the entire script, no matter how many queries you have.

You don't have to close the connection either. It's closes it self automatically after the scripts ends.

Batalf
0
 
neostudioAuthor Commented:
mmmm....

lets say i have
include("connect.inc");
in all my pages, the user enters from index.php,the file is included and the database is open, that is ok !

then he navigates to another page, include("connect.inc"); is included again, will this open a new connection ?
won't this kill the server ?
can you please explain m,ore ?



BTW)
the main server is a Windows 2000 ADV. Server, when i do a
netstat -n
i get some 100 open ports to the MySQL server .

on the MySQL server machine, A RH7 Linux, i do some netstat and i get 2 or three open ports, what am i missing ??
0
 
neostudioAuthor Commented:
Also..

here is the MySQL> status output


Threads: 1  Questions: 10149  Slow queries: 1  Opens: 311  Flush tables: 1  Open tables: 25 Queries per second avg: 12.256

what are these   Open tables: 25  !!

0
Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

 
BatalfCommented:
If you use mysql_connect() and not mysql_pconnect() you won't kill the server.

From the mysql-manual:
"The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling mysql_close(). "

= When the user navigates to a new page, the old connection would be closed and a new one opened.

Batalf
0
 
neostudioAuthor Commented:
Ok Batalf ..
consider the thread yours, great information you provided here..

but what about these open ports to the server whn i do a netstat -n ??

aren't these open connections to the server ??

0
 
BatalfCommented:
I'm Sorry, but I'm not that familiar with Windows 2000 server.

What I could tell you is that I have used mysql_connect() in each script for several years without any problem.

Is the number of open ports increasing for each time you load a web-page?

Batalf
0
 
neostudioAuthor Commented:
Great Answer, Thanx !!!

BTW ))
on the unix machine, the post keeps open for a second or less, but on the windows machine it is open for at least 10 minutes, strange !!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now