serii81
@serii81
Я люблю phр...

Почему не работает вставка в PDO?

Создал класс базы данных
class Database
  {
    private $link;
    public $title;
    public $content;
    protected $data;
    
    public function __construct()
    {
      $config = require_once __DIR__.'/config.php';
      $dsn = 'mysql:host = '.$config['host'].';dbname='.$config['db_name'].';charset='.$config['charset'].'';
  
      try{
        $this->link = new PDO($dsn, $config['username'], $config['password']);
      }catch (PDOException $e){
        echo $e->getMessage();
      }
    }
    
    public function exec($title, $content){
      $stmt = $this->link->prepare("INSERT INTO test (title,content) VALUES (:title,:content)");
      $stmt -> execute(array(':title'=>$title, ':content'=>$content));
    }
  }


далее в index.php хочу вставить данные в базу
require_once __DIR__.'/Database.php';
  
  $insert = new Database();
  $insert->exec('new title', 'new content');


но не получается, никак не пойму почему.

Причем выборка работает, вот содержимое таблицы

59d2205e13beb638942317.png

Заранее благодарен.
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
> Почему не работает вставка в PDO?

Этого не знает никто. Кроме твоей БД.
Поэтому надо спрашивать надо не посторонних людей, а свою базу данных.
Добавь после коннекта строчку

$this->link->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );


и читай, что она тебе скажет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы