SELECT * FROM products WHERE product_id = 10 ORDER BY product_id 执行错误

178.          
179.          $result = $this->db->query($sql);
180. 
181.          if($result===false)
182.              //echo "查询出错!{$sql}";
183.              JError("{$sql} 执行错误");
184.              
185.          $this->lastResult = $result;
186.          return $result;
187.      }
188.      
57.       */
58.      public function getArray($sql)
59.      {
60.          $this->arrSql[] = $sql;
61.          
62.          $result = $this->exec($sql);
63.          //make sure the result is valid
64.          if($result=== false || $result===NULL) 
65.              return NULL;        // error
66.          if(!is_object($result)) // no rows returned
67.              return array();
129.          }else{
130.              $sort = "ORDER BY {$this->pk}";
131.          }
132.          $sql = "SELECT {$fields} FROM {$this->tbl_name} {$where} {$sort}";
133.          if(null != $limit)$sql = $this->_db->setlimit($sql, $limit);
134.          return $this->_db->getArray($sql);
135.      }
136.      
137.      /**
138.       * 过滤转义字符
139.       *
99.       *
100.       * @param pkvalue  查找条件
101.       * @param fields   查询字段,默认为* 
102.       */
103.      public function get($pkvalue, $fields = null){
104.          if( $record = $this->getAll(array($this->pk => $pkvalue), null, $fields, null, 1) ){
105.              return array_pop($record);
106.          }
107.          else{
108.              return FALSE;
109.          }
629.       */
630.      function detailsAction($params) {
631.          $product_id = intval($params['product_id']);
632.          if($product_id) {
633.              $products = JLoadClass('products');
634.              $product = $products->get($product_id);
635.              if($product) {
636.                  if($product['pictures']) {
637.                      $product['pictures'] = explode(',', $product['pictures']);
638.                  }
639.                  
48.                      if($module_handle->template_name) {
49.                          $temp_template_name = $module_handle->template_name;
50.                          unset($module_handle->template_name);
51.                      }
52.                      if(method_exists($module_handle, $actionFunc)){
53.                          $module_handle->$actionFunc($params);                        
54.                          if(FALSE != $GLOBALS['G_JCONFIG']['view']['auto_display']){                            
55.                              if(isset($module_handle->template_name)) {
56.                                  if($module_handle->template_name != '') {
57.                                      $tpl = $module.$GLOBALS['G_JCONFIG']['view']['auto_display_sep'].
58.                                          $module_handle->template_name.$GLOBALS['G_JCONFIG']['view']['template_file_suffix']; // 拼装模板路径    
123.      <div class="content_resize">
124.        <div class="mainbar"> 
125.  <div class="article"> 
126.      <h2><?php echo $_smarty_tpl->getVariable('products')->value['product_name'];?>
127.  </h2>
128.      <?php echo $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['JCall'][0][0]->__template_JCall(array('module'=>'products','action'=>'details','product_id'=>$_smarty_tpl->getVariable('products')->value['product_id']),$_smarty_tpl);?>
129. 
130.  </div>
131.   </div>
132.        <div class="sidebar"> <?php echo $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['JCall'][0][0]->__template_JCall(array('module'=>'categories','action'=>'treelist','tpl'=>'titletreelist','category_id'=>$_smarty_tpl->getVariable('category')->value['category_id'],'show_parent'=>true),$_smarty_tpl);?>
133.   </div>
427.              $_smarty_tpl = $this;
428.              ob_start();
429.              if ($this->resource_object->isEvaluated) {
430.                  eval("?>" . $this->compiled_template);
431.              } else {
432.                  include($this->getCompiledFilepath ()); 
433.                  // check file dependencies at compiled code
434.                  if ($this->smarty->compile_check) {
435.                      if (!empty($this->properties['file_dependency'])) {
436.                          $this->mustCompile = false;
437.                          $resource_type = null;
562.            if ($this->isCached === null) { 
563.              $this->isCached(false); 
564.            }
565.            if (!$this->isCached) {          
566.              // render template (not loaded and not in cache)
567.              $this->renderTemplate();
568.            }
569.          } 
570.          $this->updateParentVariables();
571.          $this->isCached = null;
572.          return $this->rendered_content;
333.          } 
334.          // return rendered template
335.          if ((!$this->caching || $_template->resource_object->isEvaluated) && (isset($this->autoload_filters['output']) || isset($this->registered_filters['output']))) {
336.              $_output = Smarty_Internal_Filter_Handler::runFilter('output', $_template->getRenderedTemplate(), $_template);
337.          } else {
338.              $_output = $_template->getRenderedTemplate();
339.          } 
340.          $_template->rendered_content = null;
341.          if (isset($this->error_reporting)) {
342.              error_reporting($_smarty_old_error_level);
343.          } 
377.       * @param object $parent next higher level of Smarty variables
378.       */
379.      public function display($template, $cache_id = null, $compile_id = null, $parent = null)
380.      { 
381.          // display template
382.          $this->fetch ($template, $cache_id, $compile_id, $parent, true);
383.      } 
384. 
385.      /**
386.       * test if cache i valid
387.       * 
51.      {
52.          try {
53.                  $this->addfuncs();
54.                  $this->displayed = TRUE;
55.                  if($GLOBALS['G_JCONFIG']['view']['debugging'] && debugMode)$this->engine->debugging = TRUE;
56.                  $this->engine->display($tplname);
57.          } catch (Exception $e) {
58.              JError( $GLOBALS['G_JCONFIG']['view']['engine_name']. ' Error: '.$e->getMessage() );
59.          }
60.      }
61.      
149.       */
150.      public function display($tplname, $output = TRUE)
151.      {
152.          @ob_start();
153.          if(TRUE == $GLOBALS['G_JCONFIG']['view']['enabled']){
154.              $this->v->display($tplname);
155.          }else{
156.              extract($this->__template_vals);
157.              require($tplname);
158.          }
159.          if( TRUE != $output )return ob_get_clean();
97.                  $tplfile = str_replace($GLOBALS['G_JCONFIG']['view']['template_file_suffix'], '_' . $this->getLang() . $GLOBALS['G_JCONFIG']['view']['template_file_suffix'], $tplname);
98.                  if($this->v->engine->templateExists($tplfile)) {
99.                      $this->display($tplfile);
100.                  }
101.                  else if($this->v->engine->templateExists($tplname)) {
102.                      $this->display($tplname);
103.                  }                
104.              }
105.          }
106.      }    
107.      
53.          else {
54.              $__tplname = $__controller.$GLOBALS['G_JCONFIG']['view']['auto_display_sep'].
55.                      $__action.$GLOBALS['G_JCONFIG']['view']['template_file_suffix']; // 拼装模板路径
56.          }
57.          if($__tplname) {
58.              $__handle_controller->auto_display($__tplname);
59.          }
60.      }
61. 
62.      // 对路由进行后续相关操作
63.      JInject("router_postfilter");
62.  if(count($server_info) > 1) {
63.      $server_domain = $server_info[count($server_info)-2];
64.      define('DOMAIN', $server_domain);
65.  }
66. 
67.  JStart();
68.  ?>