1

Тема: Не заносяться данні до БД(PDO)

Ось код:

Прихований текст
    public function add_data() {
        $query = "INSERT INTO users(id, name, level, age) VALUES (null, :name, :level, :age)";

        $name  = $_REQUEST['name'];
        $level = $_REQUEST['level'];
        $age   = $_REQUEST['age'];

        $params = array(':name' => $this->name,
                        ':level'=> $this->level,
                        ':age'  => $this->age);

        $stmt = $this->pdo->prepare($query);
        $stmt->execute($params);
    }

не відбувається занесення даних до бази... Змінні не пусті, всі значення введено згідно з типом поля у БД.
в чому проблема?

2

Re: Не заносяться данні до БД(PDO)

А шо пише, яку помилку? Не знаю, як включити в pdo, в стандартному мускулі це приблизно так

->execute($params) or die (mysql_error)

3

Re: Не заносяться данні до БД(PDO)

скоріше за все тому,що ви намагаєтесь отримати доступ до властивостей класу через this,типу $this->name,але request дані пишете в локальну змінну у методі,наприклад $name. То ви або пишіть в бд $name або присвоюйте значення типу $this->name = $_REQUEST['name'];

4

Re: Не заносяться данні до БД(PDO)

Вирішив у такий собі спосіб

Прихований текст
    public function add_data()
    {
        $name  = $_REQUEST['name'];
        $level = $_REQUEST['level'];
        $age   = $_REQUEST['age'];

        $query = "INSERT INTO users(id, name, level, age) VALUES (null, '$name', $level, $age)";
        $this->pdo->exec($query) or die ("Error");
    }

безпечне занесення даних не потрібно мені в даний момент...

5

Re: Не заносяться данні до БД(PDO)

в чому проблема?

Ви присвоюєте значення змінним а використовуєте властивості класу.
Тобто, присвоївши отак змінну:

$name  = $_REQUEST['name'];

Її значення не буде тут:

$this->name;
Подякували: Djalin1

6

Re: Не заносяться данні до БД(PDO)

Sensetivity написав:

Ви присвоюєте значення змінним а використовуєте властивості класу.

Тоді це також не діяло... Випливала якась помилка, а яка не памятаю

7

Re: Не заносяться данні до БД(PDO)

 error_reporting(E_ALL);
    ini_set('display_errors', true);

додайте в початок і дальше скажіть нам яка у вас помилка - а ми підкажемо як її виправити ;)