Если вы получили сообщение об ошибке 1064, в то время как создавали/изменяли базу данных MySQL 4.1.xx, работая как Admin, вы, вероятно, получите такое сообщение:
1064 - У вас ошибка в запросе; обратитесь к руководству, которая соответствует вашей версии сервера MySQL на предмет корректного синтаксиса для использования рядом с "-20, 20 'в строке 1
затем что-то вроде:
Выберите manufacturers_id, manufacturers_name, manufacturers_image, date_added, LAST_MODIFIED от порядка производителей по manufacturers_name предел -20, +20
или
Выберите banners_id, banners_title, banners_image, banners_group, статус, expires_date, expires_impressions, date_status_change, date_scheduled, date_added с тем знамена banners_title, banners_group предел -20, +20
записи об ошибке появятся в зависимости от записей таблиц, которые вы удалили.
Чтобы это исправить:
В admin/includes/classes найти split_page_results.php и найдите строки:
$offset = ($max_rows_per_page * ($current_page_number - 1));
$sql_query .= " limit " . $offset . ", " . $max_rows_per_page;
замените на:
$offset = ($max_rows_per_page * ($current_page_number - 1));
if ($offset < 0)
{
$offset = 0;
}
$sql_query .= " limit " . $offset . ", " . $max_rows_per_page;
MySQL 4.1.xx обрабатывает отрицания правильно, вызывая ошибку в коде выше, в отличие от более ранних версий MySQL.
Делайте изменения в
catalog/includes/classes/split_page_results.php только тогда, когда ошибка продолжает возникать и вышеописанные изменения не помогли. В других случая, изменения делать не следует.
Найдите строки:
$this->sql_query .= " limit " . $offset . ", " . $this->number_of_rows_per_page;
замените на:
$this->sql_query .= " limit " . max($offset, 0) . ", " . $this->number_of_rows_per_page;
Теперь всё должно работать.