Solved

Technical Question About mysql_connect

Posted on 2002-04-11
7
152 Views
Last Modified: 2006-11-17
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
Comment
Question by:neostudio
  • 4
  • 3
7 Comments
 
LVL 32

Expert Comment

by:Batalf
ID: 6934142
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
 
LVL 3

Author Comment

by:neostudio
ID: 6934234
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
 
LVL 3

Author Comment

by:neostudio
ID: 6934244
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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 32

Accepted Solution

by:
Batalf earned 50 total points
ID: 6934371
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
 
LVL 3

Author Comment

by:neostudio
ID: 6934489
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
 
LVL 32

Expert Comment

by:Batalf
ID: 6934510
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
 
LVL 3

Author Comment

by:neostudio
ID: 6934636
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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Foreword (July, 2015) Since I first wrote this article, years ago, a great many more people have begun using the internet.  They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…
Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
The viewer will learn how to dynamically set the form action using jQuery.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now