tags:

views:

46

answers:

2

can any one tell me the difference between mysql_connect and mysql_pconnect?

+6  A: 

mysql_pconnect() acts very much like mysql_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (mysql_close() will not close links established by mysql_pconnect()).

Just see also php.net reference

ran2
Does that help or do you have trouble understanding this definition? If so, please try to ask more precisely.
ran2
+1 for explaining in a clearway
srinivas
Persistent connections can be very bad if you're using transactions or locks and the script dies partway through one. There's no way for MySQL to know that the script's gone and keeps the transaction and/or locks alive. This will almost always lead to big trouble as the locks pile up
Marc B
A: 

mysql_connect() and mysql_pconnect() both are working for database connection but with little difference. In mysql_pconnect(), ‘p’ stands for persistance connection.

When we are using mysql_connect() function, every time it is opening and closing the database connection, depending on the request .

But in case of mysql_pconnect() function, First, when connecting, the function would try to find a (persistent) connection that’s already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection. Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the connection will remain open for future use (mysql_close() will not close connection established by mysql_pconnect()).

mysql_pconncet() is useful when you have a lot of traffice on your site. At that time for every request it will not open a connection but will take it from the pool. This will increase the efficiency of your site. But for general use mysql_connect() is best.


One simple eg :- The difference between connect() and pconnect, it is simply like a shop when u entering in shop you will open the door and take your iteam come out and close the door that is called connect() in mysql the connection to the mysql database will be automatically closed when the script terminates. when the door of the shop is already opend and never close it is called pconnect(), open a connection with mysql_pconnect(), the connection will not be closed and will "persist" for future use.

learner