Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Obtendo uma conexão PHP PDO de um mysql_connect()?


Ambas as extensões usam internamente EG(persistent_list) para armazenar o identificador de conexão persistente. Mas eles criam hashes/chaves diferentes para esta lista, para que não possam encontrar entradas da respectiva outra extensão.

A extensão mysql cria chaves no formato "mysql_<host&port>_<user>..." enquanto o pdo constrói "PDO:DBH:DSN=<dsn>:<user>:...." . Os hashes são usados ​​quase como chaves de matriz em um script php. Exemplo (sobre)simplificado:
function pconnect($host,$user,$pass) {
  global $persistent_list;
  $hashkey = sprintf("extensionname_%s_%s_%s", $host, $user, $pass);
  if ( isset($persistent_list[$hashkey]) ) {
    // use stored connection
  }
  else {
    // create new connection
  }
}

Então a resposta é:Não, as conexões não serão compartilhadas e reutilizadas pela extensão mysql e PDO.