Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка вида: The used SELECT statements have a different number of columns
 
 автор: ecipuser   (11.07.2009 в 08:59)   письмо автору
 
 

Доброго всем времени!
При написании механизма поиска столкнулся с такой ошибкой:

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,
                                "Ошибка при формировании 
                                 списка позиций");
      }


Уважаемые ГУРУ! Подскажите почему и как исправить?

  Ответить  
 
 автор: Ильдар   (11.07.2009 в 10:19)   письмо автору
 
   для: ecipuser   (11.07.2009 в 08:59)
 

тебе в другой форум - http://softtime.ru/forum/index.php?id_forum=3

  Ответить  
 
 автор: ride   (11.07.2009 в 12:15)   письмо автору
 
   для: 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

или уберите поле со второго, или добавьте поле в первый

  Ответить  
 
 автор: ecipuser   (12.07.2009 в 09:43)   письмо автору
 
   для: ride   (11.07.2009 в 12:15)
 

Спасибо! Помогло!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования