@mihailos

Почему ругается?

Недавно начал постигать ООП и сразу же столкнулся с проблемой
Fatal error: Uncaught Error: Call to undefined function add_in_db() in E:\OSPanel\domains\tutorial\index.php:7 Stack trace: #0 {main} thrown in E:\OSPanel\domains\tutorial\index.php on line 7

Вот код index.php
<?php
spl_autoload_register(function($className){
    require_once __DIR__ . '/src//' . $className . '.php';
});

$add = new Project\Model\Task\BD();
var_dump(add_in_db());

Вот непосредственно сам файл класса BD.php
<?php
namespace Project\Model\Task;

class BD{
    public $pdo;
    public function add_in_db($task, $table)
    {
        $this->pdo = new PDO('mysql:host=localhost; dbname=listask', 'root', '');
        $query = $pdo->prepare("INSERT INTO $table(task) VALUES(?)");
        $query->execute([$task]);
    }
    public function delete_from_db($id)
    {
        $query = $pdo->prepare("DELETE FROM tasks WHERE id = ? ");
        $query->execute([$id]);
    }
}

В чем проблема? И как ее решить?
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 2
phaggi
@phaggi
лужу, паяю, ЭВМы починяю
Ошибка значит, что константа содержит неправильную операцию. Видимо, речь о PD0. Вам точно нужна именно константа? Тогда зачем вы ей передаёте результат каких-то вычислений с параметрами? Может, она не должна быть константой?
Ответ написан
volodec
@volodec
var_dump($add->add_in_db());
Но ошибка будет в любом случае, потому что при таком вызове метода, не будут переданы требуемые параметры, в частности $task, $table
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы