[Php] لماذا فب بدو دسن شكل مختلف ل ميسكل مقابل بوستغريزل؟


Answers

نعم، هذا التناقض أبي هو الانزعاج الرئيسي.

كعمل حول، أنا حزمة سلسلة دسن الفعلية مع اسم المستخدم وكلمة المرور اختياري باستخدام بناء سلسلة الاستعلام - ثم تحليل وبناء مثل هذا:

parse_str($connection_string, $params);

$pdo = new PDO($params['dsn'], @$params['username'], @$params['password']);

لذلك ل بوستغريزل، استخدام $connection_string مثل:

dsn=pgsql:host=localhost;dbname=test;user=root;password=root

وبالنسبة ل ميسكل، استخدم سلسلة مثل:

dsn=mysql:host=localhost;dbname=testdb&username=root&password=root

نوع من عرجاء، ولكنها بسيطة وأنها تعمل.

Question

عند الاتصال بقاعدة بيانات ميسكل باستخدام بدو، فإن الطريقة التي أحتاج إليها للاتصال هي:

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

ولكن بالنسبة ل بوستغريزل، دسن هو أكثر معيار (إيمو):

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

هل هناك أي سبب يمنع ميسكل من استخدام سلسلة واحدة؟ أو هل هذا فقط بسبب الإصدارات التي أستخدمها (فب 5.2، الخلية 5.0، بوستغريزل 8.1)؟