db_query_temporary.Помогите правильно создать запрос

Прислано: dys@drupal.org

пн, 18/10/2010 - 12:45

Другие статьи по теме:

Вот есть такая ошибка:
Вот код который эту ошибку генерирует:

$x=0;
 
    db_query_temporary("SELECT DISTINCT(n.nid)
                                FROM {node} n
                              INNER JOIN {term_node} tn ON n.nid = tn.nid
                              WHERE  n.status = 1 AND tn.tid=$tid
                              AND n.type IN ('". implode("','", $product_types) ."')",  'temp_product_node');
 
    for ($x=0; $x<$count-1; $x++){
        if($x==0){
 
            db_query_temporary("SELECT DISTINCT(tm.nid)
                            FROM  temp_product_node tm 
                                INNER JOIN {term_node} tn ON tm.nid = tn.nid
                              WHERE   tn.tid=$terms_2array[$x]",  'temp_product_node_'.$x);
        }
 
        else {
 
            $i=$x-1;
            $temp_table='temp_product_node_'.$i;
            db_query_temporary("SELECT DISTINCT(tm.nid)
                                FROM  $temp_table tm 
                                INNER JOIN {term_node} tn ON tm.nid = tn.nid
                               WHERE  tn.tid=$terms_2array[$x]" ,  'temp_product_node_'.$x);
 
        }
    }
    //tn.tid IN ($tids2) AND
    $temp_table='temp_product_node_'.$x;
 
    $sql = "SELECT DISTINCT(n.nid), n.sticky, n.title, n.created, p.model, p.sell_price, p.ordering
    FROM {node} n
      INNER JOIN {term_node} tn ON n.nid = tn.nid
      INNER JOIN $temp_table tm ON n.nid = tm.nid
      INNER JOIN {uc_products} AS p ON n.vid = p.vid
    WHERE  n.status = 1
      AND n.type IN ('". implode("','", $product_types) ."')
    ORDER BY ". $order;
 
  $sql_count = "SELECT COUNT(DISTINCT(n.nid))
    FROM {node} n
      INNER JOIN {term_node} tn ON n.nid = tn.nid
      INNER JOIN $temp_table tm ON n.nid = tm.nid
      INNER JOIN {uc_products} AS p ON n.nid = p.nid
    WHERE  n.status = 1
      AND n.type IN ('". implode('","', $product_types) ."')";
 
  $sql = db_rewrite_sql($sql);
  $sql_count = db_rewrite_sql($sql_count);
  $catalog->products = array();
  $result = pager_query($sql, variable_get('uc_product_nodes_per_page', 12), 0, $sql_count);
    while ($node = db_fetch_object($result)) {
        $catalog->products[] = $node->nid;
    }

Помогите понять причину ошибки.

Новое на сайте