PHP 5.6, PDO MySql Connection on Unix (LAMPP) - Fatal Error: SQLSTATE[HY000] [1045] -


i try realize cms in mvc oop php.

i use unix system (ubuntu 14) , lampp (xampp) server.

in config.php fetch information database connection xml file.

i try methods before mysql connection pdo in php, , works.

there 2 things different in case is, first is, fetch mysql connection information xml file. second work on unix system.

stackoverflow marked questions duplicate, cant't forward answer. maybee can take look, , explain newbie ;)

mysql error 1045 (28000): access denied user 'bill'@'localhost' (using password: yes)

config.php:

final class config {  /**************************************************************************/  /*private function*/  /*  * xml content  */ private static function getxmlcontent($file){     //set xml file     $xmlfile    = url.$file;     //get content     $xmlcontent = simplexml_load_string(file_get_contents($xmlfile));     //json encode     $xmljson    = json_encode($xmlcontent);     //json decode assoc array     $xmlarr     = json_decode($xmljson, true);      return $xmlarr; }  /**************************************************************************/  /*public function*/  /*  * mysql  * @return  $mysql      (array, assoc)  */ public static function db(){     $database       = config::getxmlcontent('database.xml');      $mysql = array(         'type'      => (string) $database['type'],         'host'      => (string) $database['host'],         'database'  => (string) $database['database'],         'port'      => (string) $database['port'],         'socket'    => (string) $database['socket'],         'user'      => (string) $database['user'],         'password'  => (string) $database['password'],         'prefix'    => (string) $database['prefix']     );     //return     return (array) $mysql; }  /*  * pdo  * @return  $pdo        (array, assoc)  */ public static function pdo(){     $pdo = array(         pdo::attr_persistent            => true,         pdo::attr_errmode               => pdo::errmode_exception,         pdo::attr_default_fetch_mode    => pdo::fetch_assoc     );     //return     return (array) $pdo; } } 

database.xml:

<?xml version="1.0" encoding="utf-8"?> <sql> <type>mysql</type> <host>localhost</host> <database>database</database> <port>3306</port> <socket></socket> <user>user</user> <password>password</password> <prefix>prefix_</prefix> 

lib/model.php:

class model {  //construct function __construct(){     //init database     $this->database = new database(config::db(), config::pdo()); } } 

lib/database.php:

class database extends pdo {  /*  * construct  *   * @param   $sql        (array)  *          $pdo        (array)  *   * stackoverflow:  * https://stackoverflow.com/questions/11622317/error-on-my-pdo-construct-php  * https://stackoverflow.com/questions/19582469/uncaught-exception-pdoexception-with-message  *   * phpmanuel:  * http://php.net/manual/de/pdo.construct.php  */ public function __construct($sql, $pdo) {     /*      * parent construct      *       * @param   $dsn            (string)      *          $username       (string)      *          $passwd         (string)      *          $options        (array)      */     parent::__construct($sql['type'].':host='.$sql['host'].';port='.$sql['port'].';dbname='.$sql['database'], $sql['user'], $sql['password'], $pdo); } } 

the php error message:

fatal error: uncaught exception 'pdoexception' message 'sqlstate[hy000] [1045] access denied user 'user'@'localhost' (using password: yes)' in /opt/lampp/htdocs/xxx/application/lib/database.php:37 stack trace: #0 /opt/lampp/htdocs/xxx/application/lib/database.php(37): pdo->__construct('mysql:host=loca...', 'user', 'password', array) #1 /opt/lampp/htdocs/xxx/application/lib/model.php(18): database->__construct(array, array) #2 /opt/lampp/htdocs/xxx/application/lib/controller.php(19): model->__construct() #3 /opt/lampp/htdocs/xxx/application/control/index.php(13): controller->__construct() #4 /opt/lampp/htdocs/xxx/application/lib/application.php(61): index->__construct() #5 /opt/lampp/htdocs/xxx/application/lib/application.php(168): application->loaddefaultcontroller() #6 /opt/lampp/htdocs/xxx/index.php(40): application->init() #7 {main} thrown in /opt/lampp/htdocs/xxx/application/lib/database.php on line 37 

i'm new on unix , using terminal, please write down little description if have use it.

i hope can me quick can.

thank you!

first, check database credentials user in config. if not find it, try log $sql array before pass parent::__construct() , check errors user credentials here.


Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -