Обратите внимание, что вам не следует использовать значения, которые были отправлены непосредственно из формы, без предварительной их проверки. Я не буду обращаться к этому здесь, но я обращусь к вашему запросу:
Вы не можете установить значение идентификатора строки, который планируете использовать в предложении WHERE; это вызывает проблему параллелизма. Ваш идентификатор строки должен быть неизменным.
Таким образом, ваш запрос должен выглядеть следующим образом (напоминание: я не исправил проблемы, связанные с безопасностью):
UPDATE blogdata SET title='$ptitle', author='$author',
author_email='$author_email', date='$date', category='$category',
content='$pcontent' WHERE id='$id'