ID: 41435 User updated by: marques at displague dot com -Summary: my.cnf database and host values are ignored in pdo_mysql Reported By: marques at displague dot com Status: Open Bug Type: Feature/Change Request PHP Version: 5.2.2 New Comment:
It looks like you can get either host or dbname to come from my.cnf, but not both, by leaving the value blank in the DSN as the final parameter. example: 'mysql:dbname=' will use the database parameter in my.cnf 'mysql:host=' will use the host parameter in my.cnf 'mysql:dbname=:host=' SQLSTATE[42000] [1044] Access denied for user 'myusername'@'localhost' to database ':host=' 'mysql:host=:dbname=' SQLSTATE[HY000] [2005] Unknown MySQL server host ':dbname= Previous Comments: ------------------------------------------------------------------------ [2007-05-18 14:52:04] marques at displague dot com The example should have read: $ppv = PDO('mysql',null,null,array(PDO::MYSQL_ATTR_READ_DEFAULT_GROU P=> 'php'); ------------------------------------------------------------------------ [2007-05-18 14:50:21] marques at displague dot com Description: ------------ When creating a pdo_mysql connection, database and hostname are required even when they are supplied in the my.cnf file. Reproduce code: --------------- contents of ~/.my.cnf: [php] user = myusername password = mypassword database = mydb host = db.mydomain.com default-character-set = utf8 PHP code to test usage of ~/.my.cnf: <? $pdo = new PDO('mysql:dbname=ppv',null,null,array(PDO::MYSQL_ATTR_READ_DEFAULT_GROUP=> 'php'); $st = $pdo->prepare("select user()"); $st->execute(); $rs = $st->fetchAll(); print_r($rs); ?> Expected result: ---------------- [EMAIL PROTECTED] Actual result: -------------- Fatal error: Uncaught exception 'PDOException' with message 'invalid data source name' In the above example, "dbname" is still required even though a "database" was given in ~/.my.cnf. The host given in ~/.my.cnf is also ignored, and PHP/mysql defaults to "localhost". Interestingly enough, default_character_set is applied. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41435&edit=1