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; }
Помогите понять причину ошибки.
- dys@drupal.org's blog
- Для комментирования войдите или зарегистрируйтесь

