Fatal error: Call to a member function query() on null
が発生してしまいました...
プログラミング初心者なのでとんでもない基礎的なミスがあるやもしれません。
PDOを使ってデータベースを操作したいのですが、
タイプミスないか探したのですが見つからず、どなたか改善案ご教示いただけないでしょうか?
PHP
1index.php 2<?php 3require_once(__DIR__."/config.php"); 4require_once(__DIR__."/db_connect.php"); 5$diplayDB=new \MyDB\DBconnect(); 6$arr=$diplayDB->getAll(); 7exit; 8?> 9<!DOCTYPE html> 10<html lang="ja"> 11(以下略) 12 13
PHP
1db_connect.php 2<?php 3namespace MyDB; 4class DBConnect{ 5 private $_db; 6 public function _construct(){ 7 try{ 8 $this->_db=new \PDO(DSN,DB_USERNAME,DB_PASSWORD); 9 $this->_db->setAttribute(\PDO::ATTR_ERRMODE,\PDO::ERRMODE_EXCEPTION); 10 }catch(\PDOException $e){ 11 $e->getMessage(); 12 exit; 13 } 14 } 15 public function getAll(){ 16 //var_dump($this->_db); 17 $stmt=$this->_db->query("select * from users order by id desc"); 18 return $stmt->fetchAll(\PDO::FETCH_OBJ); 19 } 20} 21 22
PHP
1config.php 2<?php 3 4ini_set('display_errors',1); 5 6define('DB_USERNAME','dbuser'); 7define('DB_PASSWORD','1234'); 8define('DSN','mysql:dbhost=localhost;dbname=test_db'); 9 10
試したこと
db_connect.php内でコメントアウトしてあるvar_dump($this->_db)はnullになっていました。
try内でのmysqlへの接続ががうまくいってないのかと思いますが、確認する方法ありますでしょうか?
すいません、質問するの初めてなもので編集させていただきました。。
補足情報(FW/ツールのバージョンなど)
補足ですが、関係あるかわかりませんがローカル開発環境としてvagrant、FTPツールとしてcyberduckを使っております。
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー