PDO closing connection
Just a rather simple question with regards to PDO compared to MySQLi.
With MySQLi, to close the connection you could do:
However with PDO it states you open the connection using:
$this->connection = new PDO();
but to close the connection you set it to
$this->connection = null;
Is this correct and will this actually free the PDO connection? (I know it does as it is set to
null.) I mean with MySQLi you have to call a function (
close) to close the connection. Is PDO as easy as
= null to disconnect? Or is there a function to close the connection?
Answer #1 (138 Votes)
According to documentation you're correct (http://php.net/manual/en/pdo.connections.php):
The connection remains active for the lifetime of that PDO object. To close the connection, you need to destroy the object by ensuring that all remaining references to it are deleted--you do this by assigning NULL to the variable that holds the object. If you don't do this explicitly, PHP will automatically close the connection when your script ends.
Note that if you initialise the PDO object as a persistent connection it will not automatically close the connection.
Answer #2 (42 Votes)
$conn=new PDO("mysql:host=$host;dbname=$dbname",$user,$pass); // If this is your connection then you have to assign null // to your connection variable as follows: $conn=null; // By this way you can close connection in PDO.