2
ビデオをフォローしていて、すべてのコードをチェックしていて、すべてが同じであるようですが、これらのエラーが発生します。未定義の変数:pdo、メンバー関数の呼び出しnullの場合prepare()null
エラー:
注意:未定義の変数:行14
致命的エラーにQueryBuilder.phpにPDO:準備メンバ関数の呼び出し()ヌルにQueryBuilder.php上でライン14
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: init.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());
}
}
}
:
require "database/Connection.php";
require "database/QueryBuilder.php";
require "app/Product.php";
$query = new QueryBuilder(Connection::make());
定義する必要があり、 '$のtable'。それは変数です。 –
@ Fred-ii- index.phpのように、 '$ products = $ query-> selectAll(" products ");' – Rudolph
'$ query = $ this-> pdo-> prepare'を試してください –