Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

ERROR IN SQL SYNTAX W/ CATEGORIES help!


hmccorkle

Recommended Posts

I just recently got this error when trying to browse my categories... :

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 'and c.parent_id = '34' and c.categories_id = cd.categories_id and cd.language_id' at line 1

 

select c.categories_id, cd.categories_name, c.parent_id from categories c, categories_description cd where and c.parent_id = '34' and c.categories_id = cd.categories_id and cd.language_id='1' order by sort_order, cd.categories_name

 

Any clue? I remade all my categories but still nothing. Help!

Link to comment
Share on other sites

This:

where and c.parent_id = '34'

should be this:

where c.parent_id = '34'

 

You have an extra "and" in there. Find it and remove it...

 

Bobby

Link to comment
Share on other sites

This:

where and c.parent_id = '34'

should be this:

where c.parent_id = '34'

 

You have an extra "and" in there.  Find it and remove it...

 

Bobby

 

Where would I edit that? MyPhpAdmin? I have never used it before. Thank you for you help so far... please help me on this part now!

Link to comment
Share on other sites

You'll have to edit the code...

 

You should be able to determine where the error is by reading the full message.

 

What is your site URL? I'm going to be on for a few more minutes then off to bed. Hurry and we may be able to get this solved in a few minutes...otherwise you'll have to rely on the kindness of the good forum members to take you the rest of the way.

 

Bobby

Link to comment
Share on other sites

You'll have to edit the code...

 

You should be able to determine where the error is by reading the full message.

 

What is your site URL?  I'm going to be on for a few more minutes then off to bed.  Hurry and we may be able to get this solved in a few minutes...otherwise you'll have to rely on the kindness of the good forum members to take you the rest of the way.

 

Bobby

 

The error is on this page

http://in2teaandjava.com/catalog/index.php...y=Teas&cPath=34

 

If you could just email the solution or something pleeeeease. I need this done and I have no clue where this error came from.

Thank you.

Link to comment
Share on other sites

The error is in your categories.php box which is located in includes/boxes/

 

Open the file in your editor and find that problem query. Remove the offending extra "and" then upload back to the server.

 

Bobby

Link to comment
Share on other sites

 $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where and c.parent_id = '" . (int)$value . "' c.categories_id = cd.categories_id, cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name");

 

That is where there appears to be an error... if you check back on the page, it's changed a little bit.

 

You can get my entire categories.php code here: http://www.in2teaandjava.com/sqlerror.txt

 

Thank you

Link to comment
Share on other sites

Use the code below:

<?php
/*
 $Id: categories.php,v 1.25 2003/07/09 01:13:58 hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 function tep_show_category($counter) {
   global $tree, $categories_string, $id, $cPath_array;

   for ($i=0; $i<$tree[$counter]['level']; $i++) {
     $categories_string .= "  ";
   }
   

   $categories_string .= '<a href="';

   if ($tree[$counter]['parent'] == 0) {
     $cPath_new = 'cPath=' . $counter;
   } else {
     $cPath_new = 'cPath=' . $tree[$counter]['path'];
   }

   $categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">';

   if (isset($cPath_array) && in_array($counter, $cPath_array)) {
     $categories_string .= '<b>';
   }



// Display Category in URL    
   $no_underscore = str_replace(" ","_",$tree[$counter]['name']); 
   $categories_string .= '<nobr><a nowrap href="';
   
   if ($tree[$counter]['parent'] == 0) {
     $cPath_new = 'category=' .str_replace("/", "/", rawurlencode($no_underscore)). '&cPath=' . $counter; 
   } else {
     $cPath_new = 'category=' .str_replace("/", "/", rawurlencode($no_underscore)). '&cPath=' . $tree[$counter]['path'];
   }

   $categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new);
   $categories_string .= '">';

   if (isset($id) && (in_array($counter, $id)) ) {
     $categories_string .= '<b>';
   }
   
// Display Category in URL    


// display category name
   $categories_string .= $tree[$counter]['name'];

   if (isset($cPath_array) && in_array($counter, $cPath_array)) {
     $categories_string .= '</b>';
   }

   if (tep_has_category_subcategories($counter)) {
     $categories_string .= '->';
   }

   $categories_string .= '</a>';

   if (SHOW_COUNTS == 'true') {
     $products_in_category = tep_count_products_in_category($counter);
     if ($products_in_category > 0) {
       $categories_string .= ' (' . $products_in_category . ')';
     }
   }

   $categories_string .= '<br>';

   if ($tree[$counter]['next_id'] != false) {
     tep_show_category($tree[$counter]['next_id']);
   }
 }
?>
<!-- categories //-->
         <tr>
           <td>
<table width=173 border=0 cellpadding=0 cellspacing=0>
<tr>
 <td colspan=3>
	 </td>
</tr>
<tr>
<td>
<?php
 $info_box_contents = array();
 $info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES);

 new infoBoxHeading($info_box_contents, true, true);

 $categories_string = '';
 $tree = array();

 $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = '1' and cd.language_id=''" . (int)$languages_id ."' order by sort_order, cd.categories_name");



 while ($categories = tep_db_fetch_array($categories_query))  {
   $tree[$categories['categories_id']] = array('name' => $categories['categories_name'],
                                               'parent' => $categories['parent_id'],
                                               'level' => 0,
                                               'path' => $categories['categories_id'],
                                               'next_id' => false);

   if (isset($parent_id)) {
     $tree[$parent_id]['next_id'] = $categories['categories_id'];
   }

   $parent_id = $categories['categories_id'];

   if (!isset($first_element)) {
     $first_element = $categories['categories_id'];
   }
 }

 //------------------------
 if (tep_not_null($cPath)) {
   $new_path = '';
   reset($cPath_array);
   while (list($key, $value) = each($cPath_array)) {
     unset($parent_id);
     unset($first_id);
 
$categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name");

     if (tep_db_num_rows($categories_query)) {
       $new_path .= $value;
       while ($row = tep_db_fetch_array($categories_query)) {
         $tree[$row['categories_id']] = array('name' => $row['categories_name'],
                                              'parent' => $row['parent_id'],
                                              'level' => $key+1,
                                              'path' => $new_path . '_' . $row['categories_id'],
                                              'next_id' => false);

         if (isset($parent_id)) {
           $tree[$parent_id]['next_id'] = $row['categories_id'];
         }

         $parent_id = $row['categories_id'];

         if (!isset($first_id)) {
           $first_id = $row['categories_id'];
         }

         $last_id = $row['categories_id'];
       }
       $tree[$last_id]['next_id'] = $tree[$value]['next_id'];
       $tree[$value]['next_id'] = $first_id;
       $new_path .= '_';
     } else {
       break;
     }
   }
 }
 tep_show_category($first_element); 

 $info_box_contents = array();
 $info_box_contents[] = array('text' => $categories_string);

 $info_box_contents[] = array('align' => 'center',
                              'text' => ''
                             
                             );
 new infoBox($info_box_contents);
?>
</td>
</tr>

</table>
           </td>
         </tr>
<!-- categories_eof //-->

 

Bobby

Link to comment
Share on other sites

MAN I'm still getting this error:

 

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 '1' order by sort_order, cd.categories_name' at line 1

 

select c.categories_id, cd.categories_name, c.parent_id from categories c, categories_description cd where c.parent_id = '0' and c.categories_id = '1' and cd.language_id=''1' order by sort_order, cd.categories_name

 

This sucks!!! Your help is seriously appreciated. I'll pay you back somehow.

If you still know of a solution, PLEASE let me know!

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...