Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mendapatkan koneksi PHP PDO dari mysql_connect()?

Kedua ekstensi secara internal menggunakan EG(persistent_list) untuk menyimpan pegangan koneksi yang persisten. Tetapi mereka membuat hash/kunci yang berbeda untuk daftar ini, sehingga mereka tidak dapat menemukan entri dari masing-masing ekstensi lainnya.

Ekstensi mysql membuat kunci dalam bentuk "mysql_<host&port>_<user>..." sementara pdo membangun "PDO:DBH:DSN=<dsn>:<user>:...." . Hash digunakan hampir seperti kunci-array dalam skrip php. (Terlalu) contoh yang disederhanakan:

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

Jadi jawabannya adalah:Tidak, koneksi tidak akan dibagi antara dan digunakan kembali oleh ekstensi mysql dan PDO.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. symfony 1.4 propel:build-all tidak berfungsi di Mysql 5.5

  2. Apa yang salah dengan SQL saya di sini? #1089 - Kunci awalan salah

  3. Tingkatkan bidang basis data sebesar 1

  4. SUM dari jumlah dengan tanda Dollar

  5. Bagaimana cara masuk ke MySQL sebagai pengguna yang berbeda?