|
|
25.04.2006, 02:39
|
|
Гость
Гость
|
Поставил Стандарт 2.3 на машину хостера. Все вроде бы ничего.. но:
При потыке создать раздел и добавить в него шаблом возникает следующий трабл:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/***/public_html/netcat/admin/subdivision/subclass.inc.php on line 16
В данном разделе нет шаблонов.
Поставил все тоже самое к себе на денвер.. все ОК!
На денвере версия MySQL 4.1.8-max
У хостера MySQL 5.0.18
Пробую sql из /netcat/admin/subdivision/subclass.inc.php
select a.Sub_Class_ID,a.Sub_Class_Name,b.Class_Name,a.Priority,a.Checked,a.Class_ID,a.EnglishName,d.Domain,c.Hidden_URL from Sub_Class AS a,Class AS b LEFT JOIN Subdivision AS c ON a.Subdivision_ID=c.Subdivision_ID LEFT JOIN Catalogue AS d ON c.Catalogue_ID=d.Catalogue_ID WHERE a.Subdivision_ID=".$loc->SubdivisionID." and a.Catalogue_ID=".$loc->CatalogueID." and a.Class_ID=b.Class_ID
На денвере все ОК
У хостера вылезает следующая ошибка:
Ошибка
SQL-запрос:
SELECT a.Sub_Class_ID, a.Sub_Class_Name, b.Class_Name, a.Priority, a.Checked, a.Class_ID, a.EnglishName, d.Domain, c.Hidden_URL
FROM Sub_Class AS a, Class AS b
LEFT JOIN Subdivision AS c ON a.Subdivision_ID = c.Subdivision_ID
LEFT JOIN Catalogue AS d ON c.Catalogue_ID = d.Catalogue_ID
WHERE a.Subdivision_ID = ".$loc->SubdivisionID."
AND a.Catalogue_ID = ".$loc->CatalogueID."
AND a.Class_ID = b.Class_ID
LIMIT 0 , 30
Ответ MySQL:
#1054 - Unknown column 'a.Subdivision_ID' in 'on clause'
Подскажите где искать причину проблемы?
|
|
|
25.04.2006, 10:52
|
|
Гость
Зарегистрирован: 1970-01-01
Сообщений: 665
|
http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html
Цитата:#
Incompatible change: Beginning with MySQL 5.0.12, natural joins and joins with USING, including outer join variants, are processed according to the SQL:2003 standard. The changes include elimination of redundant output columns for NATURAL joins and joins specified with a USING clause and proper ordering of output columns. The precedence of the comma operator also now is lower compared to JOIN, LEFT JOIN, and so forth.
These changes make MySQL more compliant with standard SQL. However, they can result in different output columns for some joins. Also, some queries that appeared to work correctly prior to 5.0.12 must be rewritten to comply with the standard. For details about the scope of the changes and examples that show what query rewrites are necessary, see Section 13.2.7.1, 'JOIN Syntax'.
В общем, поменялись приоритеты обработки.
Было:
Код:
$Select = "SELECT
a.Sub_Class_ID,
a.Sub_Class_Name,
b.Class_Name,
a.Priority,
a.Checked,
a.Class_ID,
a.EnglishName,
d.Domain,
c.Hidden_URL
FROM
Sub_Class AS a,
Class AS b
LEFT JOIN
Subdivision AS c
ON a.Subdivision_ID=c.Subdivision_ID
LEFT JOIN
Catalogue AS d
ON c.Catalogue_ID=d.Catalogue_ID
WHERE
a.Subdivision_ID=".$loc->SubdivisionID."
AND
a.Catalogue_ID=".$loc->CatalogueID."
AND
a.Class_ID=b.Class_ID
ORDER BY
a.Priority
";
Стало:
Код:
$Select = "SELECT
a.Sub_Class_ID,
a.Sub_Class_Name,
b.Class_Name,
a.Priority,
a.Checked,
a.Class_ID,
a.EnglishName,
d.Domain,
c.Hidden_URL
FROM
(Sub_Class AS a,
Class AS b)
LEFT JOIN
Subdivision AS c
ON a.Subdivision_ID=c.Subdivision_ID
LEFT JOIN
Catalogue AS d
ON c.Catalogue_ID=d.Catalogue_ID
WHERE
a.Subdivision_ID=".$loc->SubdivisionID."
AND
a.Catalogue_ID=".$loc->CatalogueID."
AND
a.Class_ID=b.Class_ID
ORDER BY
a.Priority
";
|
|
|
25.04.2006, 16:53
|
|
Гость
Гость
|
Т.е. я должен поменять в subclass.inc.php с "БЫЛО" на "СТАЛО"?
|
|
|
25.04.2006, 17:39
|
|
Гость
Гость
|
Заменил - вроде заработало... посмотрим! Спасибо!
|
|
|
25.04.2006, 18:03
|
|
Гость
Зарегистрирован: 1970-01-01
Сообщений: 665
|
Вы должны взять в скобки все, что относится к FROM, специально же выделил.
|
|
|
25.04.2006, 18:36
|
|
Гость
Гость
|
Я так и сделал - и сказал что заработало ;)
|
|
|
25.04.2006, 19:20
|
|
Гость
Гость
|
Таже сама беда в другом месте - при добавление объекта...
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/obninskcit/domains/40rus.ru/public_html/netcat/require/s_list.inc.php on line 302
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/obninskcit/domains/40rus.ru/public_html/netcat/require/s_list.inc.php on line 380
|
|
|
26.04.2006, 16:34
|
|
Гость
Зарегистрирован: 1970-01-01
Сообщений: 665
|
тоже самое...
где есть JOIN, все FROM надо в скобки брать.
|
|
|
26.04.2006, 16:43
|
|
Гость
Гость
|
Ок, попробую все найти.... это нужно искать только здесь, как я понимаю, *.inc.php?
|
|
|
26.04.2006, 16:51
|
|
Гость
Гость
|
Не понятно только одно... где же обещанная СОВМЕСТИМОСТЬ с MySQL 5....
Цитата:В общей сложности, в ядро системы было добавлено несколько десятков нововведений, среди которых стоит отметить:
- совместимость с MySQL 5
|
|
|
26.04.2006, 17:25
|
|
Гость
Гость
|
А может Вы все таки укажете в каких КОНКРЕТНо файлах необходимо произвести данные изменения???
|