Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

error 1064 - need help


Recommended Posts

I have successfully installed os commerce and I am in the process of working my way through the admin setup. I deleted all of the manufacturers and tried to start inputting my new manufacturerss and I am coming up with an error message. It is also the same error message I am getting when I click REPORTS-customer order totals.

any help is appreciated. :huh:


1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1


select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from orders o left join orders_total ot on (o.orders_id = ot.orders_id), orders_status s where o.orders_status = s.orders_status_id and s.language_id = '1' and ot.class = 'ot_total' order by o.orders_id DESC limit -20, 20

Link to comment
Share on other sites

From another thread. Searches for 1064 give you the answer. :)


First off - this fix is actually already recorded in the contributions section and many thanks to those who recorded it - but I don't think it is a contribution - rather a tip - Secondly the same problem has arisen for 4 people in a few days and I dare say it will happen to more as hosts migrate their mySQL databases to version 4.1.xx -


Hence I post here


If you get an error whilst creating \ modifying your database such that thro admin you delete all entries on a particular table you will likely get this message


1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1


followed by something like


select manufacturers_id, manufacturers_name, manufacturers_image, date_added, last_modified from manufacturers order by manufacturers_name limit -20, 20




select banners_id, banners_title, banners_image, banners_group, status, expires_date, expires_impressions, date_status_change, date_scheduled, date_added from banners order by banners_title, banners_group limit -20, 20


depending on which table you have deleted all records from.


To fix this


In admin/includes/classes find split_page_results.php and - BACK IT UP then find the lines


$offset = ($max_rows_per_page * ($current_page_number - 1));

$sql_query .= " limit " . $offset . ", " . $max_rows_per_page;


change to


$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 handles negatives correctly (by forcing an error) in the code above unlike earlier versions of MySQL.


NOTE - I have NOT asked you to change catalog/includes/classes/split_page_results.php - If you have a problem on the catalog side you may want to try the same change in that file - I did and it went wrong so the change to my catalog/includes/classes/split_page_results.php file is a little more elaborate and I will share that here if it becomes an issue - but for now it seems people will mostly have a problem with empty files on the admin side.





Wendy James


Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...