Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

1064 - You have an error in your SQL syntax


robertgouveia

Recommended Posts

hi could someone help me with this, i installed a new oscommerce and everything looks great till i went to reviews and it gave me this message, ive looked everywhere and cant find how to fix this. the message reads

 

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 reviews_id, products_id, date_added, last_modified, reviews_rating from reviews order by date_added DESC limit -20, 20

Link to comment
Share on other sites

on my other site i have a simular problem can anyone help. this on says

 

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 '-6, 6' at line 1

 

select reviews_id, products_id, date_added, last_modified, reviews_rating from reviews order by date_added DESC limit -6, 6

Link to comment
Share on other sites

on my other site i have a simular problem can anyone help. this on says

 

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 '-6, 6' at line 1

 

select reviews_id, products_id, date_added, last_modified, reviews_rating from reviews order by date_added DESC limit -6, 6

I had this earlier but it went away on its own

Many Thanks

 

Simon

Your Media Zone

 

Remember to ALWAYS BACKUP

Life is like box of chocs - You never know what your gonna get!

Do you feel lucky punk? Well do ya!

P-A-R-T WHY COS I GOTTA!

Link to comment
Share on other sites

here is the admin one

 

<?php

/*

$Id: split_page_results.php,v 1.13 2003/05/05 17:56:50 dgw_ Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2002 osCommerce

 

Released under the GNU General Public License

*/

 

class splitPageResults {

function splitPageResults(&$current_page_number, $max_rows_per_page, &$sql_query, &$query_num_rows) {

if (empty($current_page_number)) $current_page_number = 1;

 

$pos_to = strlen($sql_query);

$pos_from = strpos($sql_query, ' from', 0);

 

$pos_group_by = strpos($sql_query, ' group by', $pos_from);

if (($pos_group_by < $pos_to) && ($pos_group_by != false)) $pos_to = $pos_group_by;

 

$pos_having = strpos($sql_query, ' having', $pos_from);

if (($pos_having < $pos_to) && ($pos_having != false)) $pos_to = $pos_having;

 

$pos_order_by = strpos($sql_query, ' order by', $pos_from);

if (($pos_order_by < $pos_to) && ($pos_order_by != false)) $pos_to = $pos_order_by;

 

$reviews_count_query = tep_db_query("select count(*) as total " . substr($sql_query, $pos_from, ($pos_to - $pos_from)));

$reviews_count = tep_db_fetch_array($reviews_count_query);

$query_num_rows = $reviews_count['total'];

 

$num_pages = ceil($query_num_rows / $max_rows_per_page);

if (($current_page_number > $num_pages) and ($num_pages > 0)) {

$current_page_number = $num_pages;

}

 

If $num_pages is 0

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

return a negative value.

}

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

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

}

 

function display_links($query_numrows, $max_rows_per_page, $max_page_links, $current_page_number, $parameters = '', $page_name = 'page') {

global $PHP_SELF;

 

if ( tep_not_null($parameters) && (substr($parameters, -1) != '&') ) $parameters .= '&';

 

// calculate number of pages needing links

$num_pages = ceil($query_numrows / $max_rows_per_page);

 

$pages_array = array();

for ($i=1; $i<=$num_pages; $i++) {

$pages_array[] = array('id' => $i, 'text' => $i);

}

 

if ($num_pages > 1) {

$display_links = tep_draw_form('pages', basename($PHP_SELF), '', 'get');

 

if ($current_page_number > 1) {

$display_links .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $page_name . '=' . ($current_page_number - 1), 'NONSSL') . '" class="splitPageLink">' . PREVNEXT_BUTTON_PREV . '</a>  ';

} else {

$display_links .= PREVNEXT_BUTTON_PREV . '  ';

}

 

$display_links .= sprintf(TEXT_RESULT_PAGE, tep_draw_pull_down_menu($page_name, $pages_array, $current_page_number, 'onChange="this.form.submit();"'), $num_pages);

 

if (($current_page_number < $num_pages) && ($num_pages != 1)) {

$display_links .= '  <a href="' . tep_href_link(basename($PHP_SELF), $parameters . $page_name . '=' . ($current_page_number + 1), 'NONSSL') . '" class="splitPageLink">' . PREVNEXT_BUTTON_NEXT . '</a>';

} else {

$display_links .= '  ' . PREVNEXT_BUTTON_NEXT;

}

 

if ($parameters != '') {

if (substr($parameters, -1) == '&') $parameters = substr($parameters, 0, -1);

$pairs = explode('&', $parameters);

while (list(, $pair) = each($pairs)) {

list($key,$value) = explode('=', $pair);

$display_links .= tep_draw_hidden_field(rawurldecode($key), rawurldecode($value));

}

}

 

if (SID) $display_links .= tep_draw_hidden_field(tep_session_name(), tep_session_id());

 

$display_links .= '</form>';

} else {

$display_links = sprintf(TEXT_RESULT_PAGE, $num_pages, $num_pages);

}

 

return $display_links;

}

 

function display_count($query_numrows, $max_rows_per_page, $current_page_number, $text_output) {

$to_num = ($max_rows_per_page * $current_page_number);

if ($to_num > $query_numrows) $to_num = $query_numrows;

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

if ($to_num == 0) {

$from_num = 0;

} else {

$from_num++;

}

 

return sprintf($text_output, $from_num, $to_num, $query_numrows);

}

}

?>

 

 

 

here is the include/classes one

 

<?php

/*

$Id: split_page_results.php,v 1.15 2003/06/09 22:35:34 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

class splitPageResults {

var $sql_query, $number_of_rows, $current_page_number, $number_of_pages, $number_of_rows_per_page, $page_name;

 

/* class constructor */

function splitPageResults($query, $max_rows, $count_key = '*', $page_holder = 'page') {

global $HTTP_GET_VARS, $HTTP_POST_VARS;

 

$this->sql_query = $query;

$this->page_name = $page_holder;

 

if (isset($HTTP_GET_VARS[$page_holder])) {

$page = $HTTP_GET_VARS[$page_holder];

} elseif (isset($HTTP_POST_VARS[$page_holder])) {

$page = $HTTP_POST_VARS[$page_holder];

} else {

$page = '';

}

 

if (empty($page) || !is_numeric($page)) $page = 1;

$this->current_page_number = $page;

 

$this->number_of_rows_per_page = $max_rows;

 

$pos_to = strlen($this->sql_query);

$pos_from = strpos($this->sql_query, ' from', 0);

 

$pos_group_by = strpos($this->sql_query, ' group by', $pos_from);

if (($pos_group_by < $pos_to) && ($pos_group_by != false)) $pos_to = $pos_group_by;

 

$pos_having = strpos($this->sql_query, ' having', $pos_from);

if (($pos_having < $pos_to) && ($pos_having != false)) $pos_to = $pos_having;

 

$pos_order_by = strpos($this->sql_query, ' order by', $pos_from);

if (($pos_order_by < $pos_to) && ($pos_order_by != false)) $pos_to = $pos_order_by;

 

if (strpos($this->sql_query, 'distinct') || strpos($this->sql_query, 'group by')) {

$count_string = 'distinct ' . tep_db_input($count_key);

} else {

$count_string = tep_db_input($count_key);

}

 

$count_query = tep_db_query("select count(" . $count_string . ") as total " . substr($this->sql_query, $pos_from, ($pos_to - $pos_from)));

$count = tep_db_fetch_array($count_query);

 

$this->number_of_rows = $count['total'];

 

$this->number_of_pages = ceil($this->number_of_rows / $this->number_of_rows_per_page);

 

if ($this->current_page_number > $this->number_of_pages) {

$this->current_page_number = $this->number_of_pages;

}

 

$offset = ($this->number_of_rows_per_page * ($this->current_page_number - 1));

 

$this->sql_query .= " limit " . $offset . ", " . $this->number_of_rows_per_page;

}

 

/* class functions */

 

// display split-page-number-links

function display_links($max_page_links, $parameters = '') {

global $PHP_SELF, $request_type;

 

$display_links_string = '';

 

$class = 'class="pageResults"';

 

if (tep_not_null($parameters) && (substr($parameters, -1) != '&')) $parameters .= '&';

 

// previous button - not displayed on first page

if ($this->current_page_number > 1) $display_links_string .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . ($this->current_page_number - 1), $request_type) . '" class="pageResults" title=" ' . PREVNEXT_TITLE_PREVIOUS_PAGE . ' "><u>' . PREVNEXT_BUTTON_PREV . '</u></a>  ';

 

// check if number_of_pages > $max_page_links

$cur_window_num = intval($this->current_page_number / $max_page_links);

if ($this->current_page_number % $max_page_links) $cur_window_num++;

 

$max_window_num = intval($this->number_of_pages / $max_page_links);

if ($this->number_of_pages % $max_page_links) $max_window_num++;

 

// previous window of pages

if ($cur_window_num > 1) $display_links_string .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . (($cur_window_num - 1) * $max_page_links), $request_type) . '" class="pageResults" title=" ' . sprintf(PREVNEXT_TITLE_PREV_SET_OF_NO_PAGE, $max_page_links) . ' ">...</a>';

 

// page nn button

for ($jump_to_page = 1 + (($cur_window_num - 1) * $max_page_links); ($jump_to_page <= ($cur_window_num * $max_page_links)) && ($jump_to_page <= $this->number_of_pages); $jump_to_page++) {

if ($jump_to_page == $this->current_page_number) {

$display_links_string .= ' <b>' . $jump_to_page . '</b> ';

} else {

$display_links_string .= ' <a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . $jump_to_page, $request_type) . '" class="pageResults" title=" ' . sprintf(PREVNEXT_TITLE_PAGE_NO, $jump_to_page) . ' "><u>' . $jump_to_page . '</u></a> ';

}

}

 

// next window of pages

if ($cur_window_num < $max_window_num) $display_links_string .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . (($cur_window_num) * $max_page_links + 1), $request_type) . '" class="pageResults" title=" ' . sprintf(PREVNEXT_TITLE_NEXT_SET_OF_NO_PAGE, $max_page_links) . ' ">...</a> ';

 

// next button

if (($this->current_page_number < $this->number_of_pages) && ($this->number_of_pages != 1)) $display_links_string .= ' <a href="' . tep_href_link(basename($PHP_SELF), $parameters . 'page=' . ($this->current_page_number + 1), $request_type) . '" class="pageResults" title=" ' . PREVNEXT_TITLE_NEXT_PAGE . ' "><u>' . PREVNEXT_BUTTON_NEXT . '</u></a> ';

 

return $display_links_string;

}

 

// display number of total products found

function display_count($text_output) {

$to_num = ($this->number_of_rows_per_page * $this->current_page_number);

if ($to_num > $this->number_of_rows) $to_num = $this->number_of_rows;

 

$from_num = ($this->number_of_rows_per_page * ($this->current_page_number - 1));

 

if ($to_num == 0) {

$from_num = 0;

} else {

$from_num++;

}

 

return sprintf($text_output, $from_num, $to_num, $this->number_of_rows);

}

}

?>

Link to comment
Share on other sites

i get this message now though

Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in /home/pristine/public_html/estore/admin/includes/classes/split_page_results.php on line 38

I checked the file you posted the change is not implemented properly. Ok here is something else you could do. Go here

http://www.oscommerce.com/solutions/downloads

download the latest osc, extract it and grab the split_page_results.php from the catalog and admin ends and overwrite the ones you have to the equivalent folders. Backup the existing files first.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...