If you are going to write a web page there is no need of persistent connection. It takes too much resources. Use mysql_connect. Minimize the time your db connection is open and not used as much as you can. Open, fetch what you want, close. It doesn't need to stay open while the users are just reading. The connection will be used eventually if they respond - INSERT/go to another page..
Here are some good points about NOT USING persistent connection in web applications
When you lock a table, normally it is unlocked when the connection closes, but since persistent connections do not close, any tables you
accidentally leave locked will remain locked, and the only way to
unlock them is to wait for the connection to timeout or kill the
process. The same locking problem occurs with transactions. (See
comments below on 23-Apr-2002 & 12-Jul-2003)
Normally temporary tables are dropped when the connection closes, but since persistent connections do not close, temporary tables aren't
so temporary. If you do not explicitly drop temporary tables when you
are done, that table will already exist for a new client reusing the
same connection. The same problem occurs with setting session
variables. (See comments below on 19-Nov-2004 & 07-Aug-2006)
If PHP and MySQL are on the same server or local network, the connection time may be negligible, in which case there is no advantage
to persistent connections.
Apache does not work well with persistent connections. When it receives a request from a new client, instead of using one of the
available children which already has a persistent connection open, it
tends to spawn a new child, which must then open a new database
connection. This causes excess processes which are just sleeping,
wasting resources, and causing errors when you reach your maximum
connections, plus it defeats any benefit of persistent connections.
(See comments below on 03-Feb-2004, and the footnote at
http://devzone.zend.com/node/view/id/686#fn1)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…