Uncaught Error: Call to a member function prepare() on null in C:\OSPanel\domains\localhost\index.php:42 Stack trace:
0 {main}thrown in C:\OSPanel\domains\localhost\index.php on line 42
index.php
<?php
$db = new DB();
$stmt = $db->pdo->prepare("SELECT film_name, film_small_img FROM new_film");
$stmt->execute();
?>
<?php foreach ($stmt as $row): ?>
<a href="films/<?php echo $row['film_name']; ?>.php">
<img src="<?php echo $row['film_small_img']; ?>" alt="" style="width: 100px;">
<p><?php echo $row['film_name']; ?></p>
</a>
<?php endforeach; ?>
config.php
<?php
$config = [
'title' => 'KinoKings',
'account_name' => 'meln1337'
];
$settings = [
'host' => 'localhost',
'dbname' => 'main',
'username' => 'root',
'password' => '',
'charset' => 'utf8mb4'
]
?>
connection.php
class DB {
/*
The PDO Object
*/
public $pdo;
/*
Connection to the DB boolean
*/
private $isConnected;
/*
PDO statement object
*/
//private $stmt;
/*
The DB options
*/
// protected $opt = [
// PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
// PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
// PDO::ATTR_EMULATE_PREPARES => false,
// ];
/*
The database settings
*/
protected $settings = [];
/*
The parameters of the SQL query
*/
private $parametres = [];
/*
Database constructor
*/
public function __constructor (array $settings) {
$this->settings = $settings;
$this->connect();
}
/*
Connect to database
*/
private function connect () {
$dsn = 'mysql:dbname=' . $this->settings['dbname'] . ';host=' . $this->settings['host'];
try {
$this->pdo = new \PDO($dsn, $this->settings['user'], $this->settings['password'], [
\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . $this->settings['charset']
]);
// Disable emulations and we can now log
$this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$this->pdo->setAttribute(\PDO::ATTR_EMULATE_PREPARES, false);
$this->pdo->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_ASSOC);
$this->isConnected = true;
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
}
public function closeConnection () {
$this->pdo = null;
}
private function init () {
if (!$this->isConnected) {
$this->connect();
}
}
}
?>
Помогите исправить ошибку, пж.
https://www.php.net/manual/ru/language.oop5.decon.php - Разберитесь хоть изначально как "магические" методы в ООП называются и как им передавать данные, вообще научитесь правильно создавать экземпляры классов.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Товарищи подскажите пожалуйстаПрихожу на некоторую страницу с запросом вида index
пытаюсь запустить приложение скаченное с GitHub, не могу понять в чём ошибка, прошу помощи [![Cannot resolve constructor 'Intent(javalang
Изначально я написал проект с использованием spring-jdbc и бд HSQLDB не в mem режиме, сейчас решил переписать с использованием jpaКогда использовал...
Объясните мне, в чем разница между синхронизацией по методу и по объектуДля вашего правильного понимания того, как я реально это понимаю,...