phpからDBに接続したいです。
↓config.php
define('DSN', 'mysql:host=localhost;dbname=DB名,charset=utf8'); define('DB_USERNAME', 'ユーザ名'); define('DB_PASSWORD', 'パスワード');
↓DBConnector.php
<?php require_once('./config.php'); class DBConnector{ private $_db; public function __construct(){ try{ $this->_db = new \PDO(DSN, DB_USERNAME, DB_PASSWORD); $this->_db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); } catch(\PDOException $e) { echo $e->getMessage(); exit; } }
↓Access.php
require_once('./DBConnector.php'); $con = new DBConnector();
Access.phpををブラウザから読み込むと、
Access denied for user 'ユーザ名'@'localhost' to database 'DB名'
となりアクセスできません。
config.phpを下記のように変更するとアクセスできます。
define('DSN', 'mysql:host=localhost;dbname=DB名,charset=utf8'); define('DB_USERNAME', 'root'); define('DB_PASSWORD', 'パスワード');
ユーザ作成は下記のように行いました。
grant all on DB名.* to ユーザ名@localhost identified by 'パスワード'; flush privileges;
コマンドラインで、mysql -uユーザ名 -pパスワード
でmysqlには入れることはでき、DB名にもアクセスできます。
phpから接続できない原因がわかりません。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/30 04:53