getcolumnmeta php pdo

php - getcolumnmeta - Conexión de cierre PDO



pdo fetchall (3)

Creé una clase derivada para tener una instrucción más autodocumentada en lugar de "$ conn = null;".

class CMyPDO extends PDO { public function __construct($dsn, $username = null, $password = null, array $options = null) { parent::__construct($dsn, $username, $password, $options); } static function getNewConnection() { $conn=null; try { $conn = new CMyPDO("mysql:host=$host;dbname=$dbname",$user,$pass); } catch (PDOException $exc) { echo $exc->getMessage(); } return $conn; } static function closeConnection(&$conn) { $conn=null; } }

Entonces puedo llamar mi código entre:

$conn=CMyPDO::getNewConnection(); // my code CMyPDO::closeConnection($conn);

Sólo una pregunta bastante simple con respecto a PDO en comparación con MySQLi.

Con MySQLi, para cerrar la conexión, puede hacer lo siguiente:

$this->connection->close();

Sin embargo, con PDO indica que abre la conexión usando:

$this->connection = new PDO();

pero para cerrar la conexión, lo establece en null .

$this->connection = null;

¿Es correcto y esto realmente liberará la conexión PDO? (Sé que lo hace como está establecido en null .) Quiero decir con MySQLi tienes que llamar a una función ( close ) para cerrar la conexión. ¿Es PDO tan fácil como = null desconectar? ¿O hay una función para cerrar la conexión?


Según la documentación, estás en lo correcto ( http://php.net/manual/en/pdo.connections.php ):

La conexión permanece activa durante el tiempo de vida de ese objeto PDO . Para cerrar la conexión, debe destruir el objeto, asegurándose de que se eliminen todas las referencias restantes: haga esto asignando NULL a la variable que contiene el objeto. Si no hace esto explícitamente, PHP cerrará automáticamente la conexión cuando finalice su secuencia de comandos .

Tenga en cuenta que si inicializa el objeto PDO como una conexión persistente, no cerrará automáticamente la conexión.


$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.