Ошибки в MySQL запросах Dle к базе данных
Просмотров : 817 14-05-2013, 07:13
Приветствуйте, глубокоуважаемые читатели блога DleBlog.ru. Ныне я алкал бы рассказать Вам о том, будто постановить кое-какие проблемы с Dle связанные с MySQL запросам к базе настоящих. Верно, многие сталкивались с подобный картинкой, какая показана на скриншоте к данной статье. Настоящие оплошки возникают гуще итого не залпом, а по мере эксплуатации движка Dle. Если залпом после установки Вы созерцаете подобного рода оплошки, то, скорее итого Вы скачали не абсолютно нормальную версию Dle. Если Вы созерцаете подобную проблему с MySQL запросами уже в момент использования Dle, то, скорее итого в Вашем случае ляпсус капельку иного рода, а том, будто она показывает и будто её исправить, и пойдет выговор в данной статье.
Оплошки в MySQL запросах Dle к базе настоящих гуще итого происходят по двум причинам. Первая вина, заключается в ложном запросе к БД, и возникает она, будто правило, из-за ложного редактирования кода самой Dle(устанавливаете модули, хаки или что-то попросту удаляете). Вторая вина заключается в самой базе настоящих, в какой отсутствуют кое-какие записи(строки)в таблицах базы настоящих, и при запросе к этой несуществующим настоящим происходит ляпсус, какую можно следить на скриншоте к данной статье(будто образец). Вот будто один о розыске решении этих двух проблем и будут отдан тяни сегодняшний материал статьи.
Если по мере использования движка Dle Вы стали замечать, что кое-какие модули Dle или разделы сайта стали выдавать MySQL оплошки, и при этом никакого обновлении самой CMS Dle не производились, а всего устанавливались модуль или хаки. То у Вас на лик проблема с запросов в коде Dle. Будто я уже и болтал ранее они возникают по мере того будто Вы внимательно и опрятно редактируете(устанавливаете модули и хаки)код Dle. Вероятно, невзначай, вероятно из-за нехватки эксперимента, Вы могли, либо что-то выслать, либо что-то добавить в сам код запросов Dle. Для вызова оплошки MySQL довольно одного избыточного знака, дабы сам запрос уже выделывает MySQL оплошку.
Найти эту проблемную строку, незнающему люду PHP, будет будет сложно. Самым простым выходом будет попросту замена отвечающего файла модуля на новейший из архива Dle, какой Вы сможете скачать будто у Вас или у кого иного. Вытекает знать, что почитай все модули(модуль кратковременной новости, модуль абсолютной новости, модуль добавления комментарием и др.)отвечающие за пользовательский интерфейс(страницы сайта)будут в папке "engine/modules/", а файлы модулей админ панели Dle располагаются в папке "engine/inc/". Все звания модулей болтают сами за себя. К образцу, файл отвечающий за отображение комментарием в Dle зовется "engine/modules/comments.php", файл добавления комментарий - "engine/modules/addcomments.php" и тд. Настолько вот, если у Вас возникают MySQL ляпсус при добавлении комментария, то Вам необходимо скачать безукоризненную Dle и скопировать из архива файл "engine/modules/addcomments.php", с заменой такового же файла на сервере.
Настоящий способ позволяет исправить проблемы, если MySQL ляпсус вызывается из-за неправильности кода запроса в самой Dle. Однако случается таковое, что в процессе обновления движка Dle, до более запоздалых версии, начинаю возникать подобные проблемы буквально в тех модулях, какие до обновления достопримечательно вкалывали. Тут налицо вторая вероятная проблема, какая заключается в том, что в новоиспеченных версиях Dle разработчики добавляют новоиспеченные функции и под них в базе настоящих создаются новоиспеченные записи(колонки)в таблицах. И если на новоиспеченную версию Dle ввести базу настоящих от более ветхой версии, то в итоге чего и начинают возникать MySQL ляпсус, когда новоиспеченная функция в новоиспеченной версии Dle ладит MySQL запрос к БД, однако при этом в самой базе настоящих дудки подобный таблицы, сервер самодействующи возвращает MySQL оплошку.
Для того дабы постановить выработавшуюся проблему, необходимо, Вам самим в ручную, создать недостающие строки в базе настоящих. Для этого перед началом работы сделайте бекап базы настоящих в Dle, на случай если Вы что-то не настолько создадите, настоящий бекап позволит восстановить базу настоящих сайта до начального момента редактирования базы настоящих.
Итак, для того дабы найти, что надобно добавить в БД, а самое основное куда, надобно обратить внимание на саму оплошку. Строка "Unknown column 'allow_vote' in 'field list'" болтает о том, что подобный колонки "allow_vote" в таблице не бытует. А выведать к какой собственно таблице глядит настоящий запрос, можно выведать из описания запроса басистее. К образцу, строка "UPDATE dle_usergroups SET..." болтает о том, что запрос производиться в таблицу "dle_usergroups", где "dle_" - это префикс, какой Вы показали при установке Dle(если при установке Вы не меняли префикс Dle, то по умолчанию он будет "dle_").
Исходя из итого этого, становится удобопонятно, что надобно добавить в таблицу "dle_usergroups"(где "dle_" - это префикс)одну добавочную колонку и зажать её имя(в поле "Field")"allow_vote", с предписанием кое-каких добавочных значений для пустотелее таблицы. К образцу, в моем случае, необходимо добавить колонку, в какой будут храниться информация для групп пользователей, каким разрешен доступ к модулю "Список жалоб". Настолько будто единым смысл, какие будет сохраняться в этом поле будет переключатель чекбокса(разрешить/отменить), я попросту скопирую схожие значения пустотелее для новоиспеченной колонки из уже бытующих записей в БД, однако в поле "Field" заведу звание недостающего поля "allow_vote".
Для этого необходимо отворить на своем хостинге программу управления БД – phpMyAdmin. Дальше необходимо отворить свою базу настоящих, затем отворить таблицу "dle_usergroups"(все это производится в изнаночной части программы). После того будто раскроется сама таблица(в левой части)"dle_usergroups", надобно отворить в верху вкладку "структура" и под самой таблице в низу нажать на кнопку "Добавить". Раскроется поле с порожними значения, в поле "Field" надобно завести "allow_vote", а все другие значения скопировать из похожих колонок таблицы, в каких настолько же хранятся информация о том включен или отключен чекбокс в настройках модуля. По завершению надобно нажать "Сохранить", и обновляем ту страницу сайта, на какой была ляпсус. Если Вы все выполнили неизменно, то ляпсус должна испариться. Если на её месте взялась еще одна настолько же ляпсус, то надобно создать еще одну колонку в БД уже со своим значением поля "Field".
Оплошки в MySQL запросах Dle к базе настоящих гуще итого происходят по двум причинам. Первая вина, заключается в ложном запросе к БД, и возникает она, будто правило, из-за ложного редактирования кода самой Dle(устанавливаете модули, хаки или что-то попросту удаляете). Вторая вина заключается в самой базе настоящих, в какой отсутствуют кое-какие записи(строки)в таблицах базы настоящих, и при запросе к этой несуществующим настоящим происходит ляпсус, какую можно следить на скриншоте к данной статье(будто образец). Вот будто один о розыске решении этих двух проблем и будут отдан тяни сегодняшний материал статьи.
Если по мере использования движка Dle Вы стали замечать, что кое-какие модули Dle или разделы сайта стали выдавать MySQL оплошки, и при этом никакого обновлении самой CMS Dle не производились, а всего устанавливались модуль или хаки. То у Вас на лик проблема с запросов в коде Dle. Будто я уже и болтал ранее они возникают по мере того будто Вы внимательно и опрятно редактируете(устанавливаете модули и хаки)код Dle. Вероятно, невзначай, вероятно из-за нехватки эксперимента, Вы могли, либо что-то выслать, либо что-то добавить в сам код запросов Dle. Для вызова оплошки MySQL довольно одного избыточного знака, дабы сам запрос уже выделывает MySQL оплошку.
Найти эту проблемную строку, незнающему люду PHP, будет будет сложно. Самым простым выходом будет попросту замена отвечающего файла модуля на новейший из архива Dle, какой Вы сможете скачать будто у Вас или у кого иного. Вытекает знать, что почитай все модули(модуль кратковременной новости, модуль абсолютной новости, модуль добавления комментарием и др.)отвечающие за пользовательский интерфейс(страницы сайта)будут в папке "engine/modules/", а файлы модулей админ панели Dle располагаются в папке "engine/inc/". Все звания модулей болтают сами за себя. К образцу, файл отвечающий за отображение комментарием в Dle зовется "engine/modules/comments.php", файл добавления комментарий - "engine/modules/addcomments.php" и тд. Настолько вот, если у Вас возникают MySQL ляпсус при добавлении комментария, то Вам необходимо скачать безукоризненную Dle и скопировать из архива файл "engine/modules/addcomments.php", с заменой такового же файла на сервере.
Настоящий способ позволяет исправить проблемы, если MySQL ляпсус вызывается из-за неправильности кода запроса в самой Dle. Однако случается таковое, что в процессе обновления движка Dle, до более запоздалых версии, начинаю возникать подобные проблемы буквально в тех модулях, какие до обновления достопримечательно вкалывали. Тут налицо вторая вероятная проблема, какая заключается в том, что в новоиспеченных версиях Dle разработчики добавляют новоиспеченные функции и под них в базе настоящих создаются новоиспеченные записи(колонки)в таблицах. И если на новоиспеченную версию Dle ввести базу настоящих от более ветхой версии, то в итоге чего и начинают возникать MySQL ляпсус, когда новоиспеченная функция в новоиспеченной версии Dle ладит MySQL запрос к БД, однако при этом в самой базе настоящих дудки подобный таблицы, сервер самодействующи возвращает MySQL оплошку.
Для того дабы постановить выработавшуюся проблему, необходимо, Вам самим в ручную, создать недостающие строки в базе настоящих. Для этого перед началом работы сделайте бекап базы настоящих в Dle, на случай если Вы что-то не настолько создадите, настоящий бекап позволит восстановить базу настоящих сайта до начального момента редактирования базы настоящих.
Итак, для того дабы найти, что надобно добавить в БД, а самое основное куда, надобно обратить внимание на саму оплошку. Строка "Unknown column 'allow_vote' in 'field list'" болтает о том, что подобный колонки "allow_vote" в таблице не бытует. А выведать к какой собственно таблице глядит настоящий запрос, можно выведать из описания запроса басистее. К образцу, строка "UPDATE dle_usergroups SET..." болтает о том, что запрос производиться в таблицу "dle_usergroups", где "dle_" - это префикс, какой Вы показали при установке Dle(если при установке Вы не меняли префикс Dle, то по умолчанию он будет "dle_").
Исходя из итого этого, становится удобопонятно, что надобно добавить в таблицу "dle_usergroups"(где "dle_" - это префикс)одну добавочную колонку и зажать её имя(в поле "Field")"allow_vote", с предписанием кое-каких добавочных значений для пустотелее таблицы. К образцу, в моем случае, необходимо добавить колонку, в какой будут храниться информация для групп пользователей, каким разрешен доступ к модулю "Список жалоб". Настолько будто единым смысл, какие будет сохраняться в этом поле будет переключатель чекбокса(разрешить/отменить), я попросту скопирую схожие значения пустотелее для новоиспеченной колонки из уже бытующих записей в БД, однако в поле "Field" заведу звание недостающего поля "allow_vote".
Для этого необходимо отворить на своем хостинге программу управления БД – phpMyAdmin. Дальше необходимо отворить свою базу настоящих, затем отворить таблицу "dle_usergroups"(все это производится в изнаночной части программы). После того будто раскроется сама таблица(в левой части)"dle_usergroups", надобно отворить в верху вкладку "структура" и под самой таблице в низу нажать на кнопку "Добавить". Раскроется поле с порожними значения, в поле "Field" надобно завести "allow_vote", а все другие значения скопировать из похожих колонок таблицы, в каких настолько же хранятся информация о том включен или отключен чекбокс в настройках модуля. По завершению надобно нажать "Сохранить", и обновляем ту страницу сайта, на какой была ляпсус. Если Вы все выполнили неизменно, то ляпсус должна испариться. Если на её месте взялась еще одна настолько же ляпсус, то надобно создать еще одну колонку в БД уже со своим значением поля "Field".
Немного информации об материале: 14-05-2013, 07:13 наш лучший журналист - admin написал статью - "Ошибки в MySQL запросах Dle к базе данных" и сразу же добавил её к нам на сайт! Хотелось бы добавить, что наш журналист подобрал лучшее оформление и качественное содержание данной новости. Так же советуем вам посетить категорию Warez, чтобы найти другие отличные материалы, как и этот!