If I was to have a sub routine that setups a connection and returns a connection handler variable (or perhaps a reference), such as the code shown below. If I then call this sub everytime I need to make a query (my $dbh = &dbConnect), am I right in thinking that a new connection would NOT be openend every time but that DBI would use an existing connection if one existed and was not already in use; assuming that I hadn't yet called disconnect()
My second question is: Is the connection opened on the call to connect or is it delayed until the first query is prepared?
Regards to all,
Cyril
sub one { my $dbh = &dbConnect; # query continues here } sub two { my $dbh = &dbConnect; # query continues here } sub dbConnect { my $dsn = "DBI:mysql:database:localhost"; my $db_user_name = 'username'; my $db_password = 'password'; my $dbh; $dbh = DBI->connect ($dsn, $db_user_name, $db_password, { RaiseError => 1 } ) or die("cannot connect to DB: ".DBI::errstr. +"\n",$dbh); return $dbh; }
In reply to DBI / Mysql connections by cyril
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |