In the process of converting mysqli_ functionality in PHP to utilize PDO. I've done a few pages of a CMS for proof of concept, and that lead me down the rabbit hole of persistent connections.
To avoid rambling, essentially I'm making a connection to the mysql server using the old method of mysqli_connect, as well as creating a new PDO resource, however, I'm only seeing one open thread. Since they're both using the same credentials to connect, are they sharing the open thread? Any additional info is also appreciated.
Thanks!
Unfortunately the code is government owned, but I can post some condensed snippets if that helps.
Database class connect method:
try {
$dsn = "mysql:host="._DBLocation.";dbname="._DBName.";charset=utf8mb4";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_PERSISTENT => true
];
$dbh = new PDO($dsn,_DBUser,self::db_pass(),$options);
self::$conn = $dbh;
return $dbh;
}
catch (exception $e) {
print $e->getMessage();
}
The db_pass method grabs the password from a text file on a remote server. The class is just invoked via $pdo = CLASS::connect();
The mysqli connection is simmilar, however it's made once and was being stored in a session. Password is retrieved the same way and also uses preset constants for the db location and name.
$_SESSION['sql'] = mysqli_connect(_DBLocation,_DBUser,$passwordVar);
I hope this helps!