Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Deleting products casued error


johncutliffe

Recommended Posts

Hey guys

This has happened to me twice today in two slightly different ways. After I had set up the default system I was getting rid of various things. Firstly I was deleting the sample manufacturers as I wont be using any of them. When I deleted the last one I got a syntax error. Then I was deleting the only item that was in the Specials section. I just wanted to remove it from the specials and not the catalog. When I deleted it I got this error

 

Specials

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 p.products_id, pd.products_name, p.products_price, s.specials_id, s.specials_new_products_price, s.specials_date_added, s.specials_last_modified, s.expires_date, s.date_status_change, s.status from products p, specials s, products_description pd where p.products_id = pd.products_id and pd.language_id = '1' and p.products_id = s.products_id order by pd.products_name limit -20, 20

 

[TEP STOP]

 

Is there a way to fix this? Or what was the problem. Adding and deleting items is working fine except for these cases where I deleted the last thing within that category

Link to comment
Share on other sites

Check that link Wendy. It just takes someone to the homepage - guess it didn't all get included. I think that sometimes if a link is too long it just gets cut down.

 

Vger

Link to comment
Share on other sites

Gawd, I hate when that happens. This one works =)

 

http://www.oscommerce.com/forums/index.php?sho...=144095&hl=1064

Thanks wendy ..I did that and now my entire admin section has disappeared. even when I paste the original syntax back in I am getting this error

Parse error: parse error, unexpected $ in /home/johnc/public_html/altanstore/admin/includes/classes/split_page_results.php on line 106

 

here is the entire file .. I cant see where the extra $ is. I may well be just getting code blindness at this stage. Thanks again though

<?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));
if ($offset < 0)
{
$offset = 0;
}
$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

I am not sure what to tell you, there isn't a line 106 on the file you posted and that is where i would look from what the error message said.

I am not a developer or anything, just cut and paste what I am told to. I can tell you though, that the fix posted should work for you. I have done it to every site I have tested on my server and many others have used it.

 

Hopefully someone else will come along that can help.

Wendy James

 

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

Link to comment
Share on other sites

I am not sure what to tell you, there isn't a line 106 on the file you posted and that is where i would look from what the error message said.

I am not a developer or anything, just cut and paste what I am told to. I can tell you though, that the fix posted should work for you. I have done it to every site I have tested on my server and many others have used it.

 

Hopefully someone else will come along that can help.

Thanks Wendy. In the end I just did a complete reinstall for now. I hadnt got very far with the installation as it was so i didnt lose that much time. But I do appreciate your help

Thanks

 

John

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...