|
|
|
| Доброго всем времени!
При написании механизма поиска столкнулся с такой ошибкой:
The used SELECT statements have a different number of columns ...
// Подсчитываем количество найденных позиций $total
$total = 0;
$query = "SELECT COUNT($tbl_cat_catalog.id_catalog)
FROM $tbl_cat_catalog
WHERE ".implode(" AND ", $search_catalog)." AND
$tbl_cat_catalog.hide = 'show' ";
$tot = mysql_query($query);
if(!$tot)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка при извлечении
количества позиций");
}
$total += mysql_result($tot, 0);
$query = "SELECT COUNT($tbl_news.id_news)
FROM $tbl_news
WHERE ".implode(" AND ", $search_news)." AND
$tbl_news.hide = 'show'";
$tot = mysql_query($query);
if(!$tot)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка при извлечении
количества позиций");
}
$total += mysql_result($tot, 0);
// Выводим содержимое текущего каталога
$query = "SELECT $tbl_cat_catalog.id_catalog AS id_catalog,
$tbl_cat_catalog.name AS name,
'art' AS link
FROM $tbl_cat_catalog
WHERE ".implode(" AND ", $search_catalog)." AND
$tbl_cat_catalog.hide = 'show' AND
$tbl_cat_catalog.id_catalog = $tbl_cat_catalog.id_catalog
GROUP BY $tbl_cat_catalog.id_catalog
UNION
SELECT $tbl_news.id_news AS id_catalog,
0,
$tbl_news.name AS name,
'news' AS link
FROM $tbl_news
WHERE ".implode(" AND ", $search_news)." AND
$tbl_news.hide = 'show'
ORDER BY name
LIMIT $first, $pnumber";
$pos = mysql_query($query);
if(!$pos)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка при формировании
списка позиций");
}
|
Уважаемые ГУРУ! Подскажите почему и как исправить? | |
|
|
|
|
|
|
|
|
для: ecipuser
(11.07.2009 в 08:59)
| | если вы используете UNION, в подзапросах должно быть выбрано одинаковое кол-во полей.
а у вас в первом подзапросе выбирается три поля: $tbl_cat_catalog.id_catalog AS id_catalog, $tbl_cat_catalog.name AS name, 'art' AS link
а во втором - четыре: $tbl_news.id_news AS id_catalog,
0,
$tbl_news.name AS name,
'news' AS link
или уберите поле со второго, или добавьте поле в первый | |
|
|
|
|
|
|
|
для: ride
(11.07.2009 в 12:15)
| | Спасибо! Помогло! | |
|
|
|