Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

error in your SQL syntax;


JDesigns

Recommended Posts

Im running 2.2ms2 with a custom theme, and im having a few syntax errors when i try to access either Reviews, Products expected and the Newsletter giving the error message below. I notice also if I were to empty out lets say Customers > Orders to where there are no active orders it will give a syntax error when the table is empty, so im thinking it may be the same thing with the reviews, products expected and the newsletter, maybe the tables being empty ? If anyone can help me here i would appreciate it , im on a dead line with my project im running and was hoping to use osc.

 

 

Errors

Reviews  

Products Rating Date Added Action  
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

[TEP STOP]


Products Expected  

Products Date Expected Action  
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 pd.products_id, pd.products_name, p.products_date_available from products_description pd, products p where p.products_id = pd.products_id and p.products_date_available != '' and pd.language_id = '1' order by p.products_date_available DESC limit -20, 20

[TEP STOP]  



Newsletter Manager  

Newsletters Size Module Sent Status Action  
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 newsletters_id, title, length(content) as content_length, module, date_added, date_sent, status, locked from newsletters order by date_added desc limit -20, 20

[TEP STOP]

 

again if i missed this post some where im sorry

Link to comment
Share on other sites

It is telling you you that there are no newsletters to display and the page is not able to display properly without at least one newsletter in the database....

 

try this

 

edit

 

/includes/classes/split_page_results.php

 

find

 

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

 

 

(about line 66)

 

insert before it

 

if($offset <0 ) $offset = 0;

 

 

 

the same in admin/includes/classes/split_page_results.php

Regards

 

Mark A Reynolds

Link to comment
Share on other sites

It is telling you you that there are no newsletters to display and the page is not able to display properly without at least one newsletter in the database....

 

try this

 

edit

 

/includes/classes/split_page_results.php

 

find

 

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

(about line 66)

 

insert before it

 

if($offset <0 ) $offset = 0;

the same in admin/includes/classes/split_page_results.php

 

I havnt studied the original copy of os2.2 but in the copy I have , I found the first line in split_page_results.php , but in the admin section

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

cannot be found,

Link to comment
Share on other sites

I havnt studied the original copy of os2.2 but in the copy I have , I found the first line in split_page_results.php , but in the admin section

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

cannot be found,

 

about line 41? or post the code here from the file

Regards

 

Mark A Reynolds

Link to comment
Share on other sites

about line 41? or post the code here from the file

 

 

<?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 (c) 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) {
	$current_page_number = $num_pages;
  }
  $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);
}
 }
?>

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...