Neden PHP PDO DSN PostgreSQL karşı MySQL için farklı bir format?

2 Cevap php

Ben PDO kullanarak bir MySQL veritabanı bağlamak, ben bağlanmak için gereken yoldur:

$pdoConnection = new PDO("mysql:host=hostname;dbname=databasename",user,password);

Ancak, PostgreSQL için, DSN daha standart (IMO) 'dir:

$pdoConnection = new PDO("pgsql:host=hostname;dbname=databasename;user=username;password=thepassword");

MySQL, tek bir dize kullanamazsınız herhangi bir neden var mı? Veya bu sadece, çünkü ben (PHP 5.2, MySQL 5.0, PostgreSQL 8.1) kullanıyorum sürümlerinin nedir?

2 Cevap

Iki uygulanmaktadır kişi olarak, ben altta yatan kütüphane yeni özellikler ekler gibi bu veritabanları için PDO sürücüsü kod güncelleştirilmesi gerekmez nedeni ile dize ileterek Postgres'e olarak-(ve ODBC) olduğunu söyleyebilirim .

Mysql kodu ayrıştırma kendi bağlantı dizesi yok çünkü, biz sabit parametreleri ile çok özel bir API var yatan mysql işlev çağrıları, için veri aktarımı için bir mekanizma icat.

Hiçbir kaza; çok kasıtlı bulunuyor.

Bu mysql konnektörünü uygulanan kişi farklı pgsql konnektörünü uygulanan kişi daha yaptım bu sadece bir kaza.