Синтаксическая ошибка MySQL - PullRequest
0 голосов
/ 03 февраля 2012

У меня сложный запрос, и он работал нормально перед добавлением еще одной строки: рабочий запрос:

         $query = "SELECT SQL_CALC_FOUND_ROWS *
                    FROM realestate
                    INNER JOIN users ON id_user = users.id
                    LEFT JOIN pic ON id_realestate = realestate.id
                    group by realestate.id
                    ORDER BY {$order}
                    LIMIT 0 , 10";

значение $order равно date DESC

после добавленияеще одна строка, вот запрос:

         $query = "SELECT SQL_CALC_FOUND_ROWS *
                    FROM realestate
                    {$place} 
                    INNER JOIN users ON id_user = users.id
                    LEFT JOIN pic ON id_realestate = realestate.id
                    group by realestate.id
                    ORDER BY {$order}
                    LIMIT 0 , 10";

$place имеет это значение WHERE address =1 имя поля address не дублируется в других таблицах.
Я получаю это mysqlошибка:

  Database query failed: You have an error in your SQL syntax;
  check the manual that corresponds to your MySQL server version
 for the right syntax to use near
 'INNER JOIN users ON id_user = users.id LEFT JOIN pic ON id_realestate = real' 
  at line 4

Ответы [ 2 ]

2 голосов
/ 03 февраля 2012

JOIN предложения должны стоять перед WHEREУ вас есть пункты в неправильном порядке.

1 голос
/ 03 февраля 2012

Согласно http://dev.mysql.com/doc/refman/5.0/en/select.html

Таблица ссылок идет перед частью WHERE.Следующее должно быть в правильном порядке:

     $query = "SELECT SQL_CALC_FOUND_ROWS *
                FROM realestate
                INNER JOIN users ON id_user = users.id
                LEFT JOIN pic ON id_realestate = realestate.id
                {$place} 
                group by realestate.id
                ORDER BY {$order}
                LIMIT 0 , 10";

JOIN операторы являются частью ссылок на таблицу FROM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...