|
|
|
| Вот такой запрос
SQL QUERY: SELECT
`p`.*,
`h`.`file_name`,
`h`.`alias` AS `hand_alias`,
`pt`.`file` AS `template_file`,
`pt`.`file_print` AS `template_file_print`
FROM
`mstr_pages` AS `p`,
`mstr_handlers` AS `h` INNER JOIN
`mstr_page_templates` AS `pt` ON `pt`.`alias`=`p`.`page_template`
WHERE
`p`.`id_handler` = `h`.`id` AND
`h`.`visible` = 1 AND
`p`.`visible` = 1 AND
`p`.`is_hidden` = 0 AND
`p`.`alias` = 'main' AND
`p`.`lang` = 0
LIMIT 1REASON: Unknown column 'p.page_template' in 'on clause'
|
Не могу понять, почему выдает ошибку - p.page_template - есть такая колонка | |
|
|
|
|
|
|
|
для: Richard Ferlow
(15.05.2008 в 21:36)
| | чем , отличается от inner join ? | |
|
|
|
|
|
|
|
для: Trianon
(15.05.2008 в 21:45)
| | Я, к сожалению, не знаю.
Ситуация такова - на прежнем месте сайт работает как и нужно.
Необходимо перенести на новый хостинг. И там вот такая вот ошибка и появляется. Почему, я не могу понять.
На предыдущем хостинге была Mysql 4, а здесь 5, может в этом загвоздка ? | |
|
|
|
|
|
|
|
для: Richard Ferlow
(15.05.2008 в 21:48)
| |
SELECT
`p`.*,
`h`.`file_name`,
`h`.`alias` AS `hand_alias`,
`pt`.`file` AS `template_file`,
`pt`.`file_print` AS `template_file_print`
FROM
`mstr_pages` AS `p`
JOIN `mstr_handlers` AS `h` ON `p`.`id_handler` = `h`.`id`
JOIN `mstr_page_templates` AS `pt` ON `pt`.`alias`=`p`.`page_template`
WHERE
`h`.`visible` = 1 AND
`p`.`visible` = 1 AND
`p`.`is_hidden` = 0 AND
`p`.`alias` = 'main' AND
`p`.`lang` = 0
LIMIT 1
|
попробуйте так.
Гарантий никаких, поскольку неясна ни структура таблиц ни поставленная задача. | |
|
|
|
|
|
|
|
для: Trianon
(15.05.2008 в 22:06)
| | В том и проблема- изменить этот запрос пока что не получится.
Неясно почему на текущем месте работает, а после переноса перестало. | |
|
|
|
|
|
|
|
для: Richard Ferlow
(15.05.2008 в 23:23)
| | >изменить этот запрос пока что не получится
Почему не получится? | |
|
|
|
|
|
|
|
для: AcidTrash
(15.05.2008 в 23:25)
| | Там исходники с помощью Zend закодированы.
Есть вроде бы в папке и некодированные версии, но попытка запустить оттуда не выходит - ошибку 500 вообще выдает, а сидеть разбирать, это много время уйдет, и не факт что куда нужно.
Поэтому я думаю, что самый простой путь - понять почему на этой базе данных такой запрос не работает. | |
|
|
|
|
|
|
|
для: Richard Ferlow
(15.05.2008 в 23:38)
| | Потому, что этот запрос не удовлетворяет правилам языка SQL,
которые в очередной версии MySQL по части записи табличных соединений стали слегка строже.
Если Вам нужны конкретные пункты руководства - пожалуйста:
http://dev.mysql.com/doc/refman/5.0/en/join.html
http://dev.mysql.com/doc/refman/5.0/en/nested-joins.html
Запрос же в Вашем коде написан достаточно неряшливо - вот и результат. | |
|
|
|
|
|
|
|
для: Trianon
(15.05.2008 в 23:49)
| | Нашел файл незакодированный, переделал запрос как Вы подсказали - заработало.
Вы гений :) | |
|
|
|