PDO INSERT не могу подготовить запрос к БД

Пытаюсь добавить запись в таблицу через pdo, а именно через метод prepare, но у меня вместо плейсходеров не вставляются данные. Пробовал через ?, а также передавать как массив методу execute, но не работает.

Вот момент вызова:

 $sql = "INSERT INTO `comments` (`author`,`nickname`,`email`,`text`,`article_id`) VALUES (':name', ':nickname', ':email', ':text', {$article_id}) ";
        $stmt = $pdo->prepare($sql);
        $stmt->bindParam(':name',$_POST['name']);
        $stmt->bindParam(':nickname',$_POST['nickname']);
        $stmt->bindParam(':email',$_POST['email']);
        $stmt->bindParam(':text',$_POST['text']);
        $stmt->execute( );

Вот конфиг:

$config = array(
    'title' => '',
    'vk_url' => '',
    'db' => array(
            'host' => 'localhost',
            'driver' => 'mysql',
            'db_name' => 'test_blog',
            'username' => 'root',
            'pass' => 'toor',
            'charset' => 'utf8'
    )
);

$options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];

try{
$pdo = new PDO("{$config['db']['driver']}:host={$config['db']['host']};dbname={$config['db']['db_name']};charset={$config['db']['charset']}", $config['db']['username'], $config['db']['pass'], $options);
}
catch(PDOException $e)
{
    die("I can`t to connecting into database, please try later");
}

Вот что поподает в базу: phpmyadmin.


Ответы (1 шт):

Автор решения: MAX

ошибка заключалась в кавычках вокруг плейсоходеров и двоеточиях при подставлении самих данных.

вот исправленный код.

 $sql = "INSERT INTO `comments` (`author`,`nickname`,`email`,`text`,`article_id`) VALUES (:name , :nickname , :email , :text , {$article_id}) ";
        $stmt = $pdo->prepare($sql);
        $stmt->bindParam('name',$_POST['name']);
        $stmt->bindParam('nickname',$_POST['nickname']);
        $stmt->bindParam('email',$_POST['email']);
        $stmt->bindParam('text',$_POST['text']);
        $stmt->execute( );
→ Ссылка