Can anyone Please help me out With this. Foreach Error seems Endless - PHP
Hi Gi, Please what wrong with my code. I have been trying it out for ours now.
<?php
include 'models/database.php';
$pdo = Database::connect();
$sql = 'SELECT * FROM customers ORDER BY staff_id DESC';
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td>'. $row['surname'] . '</td>';
echo '<td>'. $row['firstname'] . '</td>';
echo '<td>'. $row['sex'] . '</td>';
echo '<td>'. $row['dateofbirth'] . '</td>';
echo '<td>'. $row['qualification'] . '</td>';
echo '<td>'. $row['department'] . '</td>';
echo '<td>'. $row['yearjoined'] . '</td>';
echo '<td>'. $row['email'] . '</td>';
echo '<td width=250>';
echo '<a class="btn" href="read.php?id='.$row['staff_id'].'">Read</a>';
echo ' ';
echo '<a class="btn btn-success" href="update.php?id='.$row['staff_id'].'">Update</a>';
echo ' ';
echo '<a class="btn btn-danger" href="delete.php?id='.$row['staff_id'].'">Delete</a>';
echo '</td>';
echo '</tr>';
}
Database::disconnect();
?>
and I have a database like this
<?php
class Database
{
private static $dbName = 'terminal' ;
private static $dbHost = 'localhost' ;
private static $dbUsername = 'root';
private static $dbUserPassword = '';
private static $cont = null;
public function __construct() {
die('Init function is not allowed');
}
public static function connect()
{
// One connection through whole application
if ( null == self::$cont )
{
try
{
self::$cont = new PDO( "mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, self::$dbUsername, self::$dbUserPassword);
}
catch(PDOException $e)
{
die($e->getMessage());
}
}
return self::$cont;
}
public static function disconnect()
{
self::$cont = null;
}
}
?>
it keeps showing Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\Payroll\viewstaffs.php on line 50 but when i change the name of the database to something esle like from terminal to payroll, the code works with out an error. Please can anyone help me check it out