Как написать On dublikate?
ON DUPLICATE KEY UPDATE работает если имеется уникальный ключ и он дублируется, а у вас даже синтаксис не верный. Например если `id` это PRIMARY KEY:INSERT INTO main (`id`, `nazv`, `text`, `user_id`)
    VALUES (9, '{$nazv}', '{$text}', '{$user_id}')
    ON DUPLICATE KEY UPDATE 
        `text`=VALUES(`text`),
        `nazv`=VALUES(`nazv`),
        `user_id`=VALUES(`user_id`);
На второй строчке надо ".=" вместо "=".