I am trying to display some information from database and I have the following two files. When I run the index.php
, I get this error:Fatal error: Call to a member function prepare() on a non-object in C:\xampp\htdocs\pc\index.php on line 16
Could you please tell me how to solve this problem
index.php
include_once('database.php');
$db= new database();
$conn = $db->connect();
//Problem is in the folloing line
$query = $conn->prepare('SELECT * FROM admin WHERE admin_id = :id');
$query->execute(array('id' => 1));
?>
<table>
<tr>
<th>Name</th>
<th>Email</th>
</tr>
<?php
while( $rows = $query->fetch(PDO::FETCH_ASSOC)) {
echo "<tr>";
echo "<td>". $rows['admin_name'] ."</td>" ;
echo "<td>". $rows['admin_email'] ."</td>" ;
echo "</tr>";
}
?>
</table>
database.php
class Database{
private $host = 'localhost';
private $dbname = 'school';
private $username = 'root';
private $password ='';
public $con = '';
function __construct(){
$this->connect();
}
function connect(){
try{
$this->con = new PDO("mysql:host=$this->host;dbname=$this->dbname",$this->username, $this->password);
$this->con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo 'We\'re sorry but there was an error while trying to connect to the database';
file_put_contents('connection.errors.txt', $e->getMessage().PHP_EOL,FILE_APPEND);
}
}
}