SQL Duplicate entry '.......' for key 'PRIMARY' [1062]
:- Ни на одном моём сервере данная ошибка не проявляется, поэтому исправляю "теоретически"
- Для установки новых значений добавляемого контента (хранятся в ?_config_text) используется функция set_array.
- В ней выполняется UPDATE записи базы и затем проверяется при помощи функции mysql_affected_rows() прошла ли запись, если функция вернула ноль - выполняется INSERT INTO, и вот тут-то и происходит ошибка.
Таким образом, при вызове set_array с тем же значением, что имеется в базе, на разных версиях/конфигурациях MySQL (или иных базах - мне сие неизвестно) может либо возникать, либо не возникать ошибка с INSERT INTO. На моих конфигурациях не возникает.При использовании UPDATE, MySQL не обновит колонки, уже содержащие новое значение. Вследствие этого, функция mysql_affected_rows() не всегда возвращает количество рядов, подошедших под условия, только количество рядов, обновлённых запросом.
Выпущена версия 0.0.6 - перед записью в базу данных проводится сравнение старой и новой строк конфигурации, и если изменений не обнаружено, запись не выполняется. В этой версии добавил также возможность размещения объявлений в верхней части страниц при выполнении наскольких условий (ибо расширение boardannouncements меня не удовлетворяет).
Прошу проверить. Если ошибка более не проявится - значит, эту "фичу" phpBB с set_array неплохо бы разработчикам поправить...