sql >> Database >  >> RDS >> Mysql

Een PHP PDO-verbinding krijgen van een mysql_connect()?

Beide extensies gebruiken intern EG(persistent_list) om de persistente verbindingshandle op te slaan. Maar ze maken verschillende hashes/sleutels voor deze lijst, zodat ze de vermeldingen van de respectieve andere extensie niet kunnen vinden.

De mysql-extensie maakt sleutels van de vorm "mysql_<host&port>_<user>..." terwijl pdo "PDO:DBH:DSN=<dsn>:<user>:...." bouwt . De hashes worden bijna als array-sleutels in een php-script gebruikt. (Over-)vereenvoudigd voorbeeld:

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
  }
}

Het antwoord is dus:Nee, de verbindingen worden niet gedeeld tussen en hergebruikt door de mysql-extensie en PDO.



  1. Hoe wijzig ik het gegevenstype voor een kolom in MySQL?

  2. PL/SQL - Lijstvariabele gebruiken in Waar in clausule

  3. Waarde berekenen met behulp van de vorige waarde van een rij in T-SQL

  4. SET door de gebruiker gedefinieerde variabele in mysql return null?