Ich folgte einem Video und doppelte Überprüfung aller Code und alles scheint gleich zu sein, aber ich bekomme diese Fehler.Undefinierte Variable: PDO, Aufruf an eine Member-Funktion Prepare() auf null
Errors:
Hinweis: Nicht definierte Variable: gU QueryBuilder.php auf Leitung 14
Fatal error: Aufruf an eine Elementfunktion herzustellen() auf null in QueryBuilder.php on 14 Linie
QueryBuilder.php:
class QueryBuilder
{
protected $pdo;
public function __construct($pdo)
{
$this->pdo = $pdo;
}
public function selectAll($table)
{
$query = $pdo->prepare("SELECT * FROM `$table`"); // --> LINE 14 <--
$query->execute();
return $query->fetchAll();
}
}
Connection.php:
class Connection
{
public static function make()
{
$servername = "localhost";
$dbUsername = "root";
$dbPassword = "";
$dbName = "test";
try {
$pdo = new PDO("mysql:host=$servername;dbname=$dbName", $dbUsername, $dbPassword);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
return $pdo;
}
catch(PDOException $e){
die($e->getMessage());
}
}
}
init.php:
require "database/Connection.php";
require "database/QueryBuilder.php";
require "app/Product.php";
$query = new QueryBuilder(Connection::make());
'$ table', die definiert werden muss; es ist eine Variable. –
@ Fred-ii- Ich mache es in index.php, etwas wie - '$ products = $ query-> selectAll (" products ");' – Rudolph
Versuchen Sie '$ query = $ this-> pdo-> prepare' –