I'm trying to establish a database connection with PDO and a Singleton class but I'm having trouble fetching data from the database.
I've been reading up on this but I'm still not sure how to call the Singelton class in my database file from another file and get the results printed out.
The error I'm getting right now is Fatal error: Call to undefined function query()
in my db.php file, which is the last function in my database file. However I believe the function is defined.
Any help is appreciated!
Here is my database (db.php) connection file:
<?php
class Database
{
private $_db;
static $_instance;
private function __construct() {
$this->_db = new PDO('mysql:host=localhost;dbname=mvcuser', 'root', '');
$this->_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
private function __clone(){}
public static function getInstance() {
if (!(self::$_instance instanceof self)) {
self::$_instance = new self();
}
return self::$_instance;
}
public function query($sql) {
return query($this->_db,$sql);
}
}
And here is the code in my index.php file:
<?php
require_once 'model/db.php';
$db = Database::getInstance();
$db->query('SELECT * FROM users');
if ($result = $db->query($query)) {
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo $row;
}
}