Perl / PHP MySQL

Difference between mysql_connect() and mysql_pconnect()

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.

########################################################################

#################PERL SCRIPT TO UPDATE DATABASE#####################

########################################################################

vi UPDATEDB.pl

#!/usr/bin/perl

use DBI; # This must be import to connect to database

$user=”root”; # This is User ID of database

$password=”dialnet”; # This is the Password for Database

#The following lines is to create and open a handle to Connect the database “TEST” and #if unable to connect thro error msg

my $dbh = DBI->connect(“dbi:mysql:test”, $user, $password) or die “Could not Connect to Database”. DBI->errstr;

#Here I am preparing the statement to execute

my $sth=$dbh->prepare(<<SQL);

update user set validity_status=’USED’ where end_date<CURRENT_DATE();

SQL

#Here I am executing the statement

$sth->execute;

#Closing the Database Handle which is very Important

$dbh->disconnect;

Making the perl file UPDATEDB.pl executable using the following command chmod 700 UPDATEDB.pl

to execute the file type ./UPDATEDB.pl