MySQL - Unknown table
9 отговора
341 прегледа
MySQL - Unknown table
Здравейте,
ситуацията е следната:
MySQL 3.23
PHP/Apache/Win2000
При тази заявка:
select * from
tutors_members,
tutors_members_category
where
tutors_members.MemberID = tutors_members_category.MemberID
and
tutors_members_category.CategoryID = '10,0'
limit 0, 20
Получавам това съобщение за грешка:
Unknown table 'tutors_members_category' in where clause
Таблицата 'tutors_members_category' съществува и името и е написано правилно. Заявката ми изглежда съвсем нормална, защо се получава тази грешка?
ситуацията е следната:
MySQL 3.23
PHP/Apache/Win2000
При тази заявка:
select * from
tutors_members,
tutors_members_category
where
tutors_members.MemberID = tutors_members_category.MemberID
and
tutors_members_category.CategoryID = '10,0'
limit 0, 20
Получавам това съобщение за грешка:
Unknown table 'tutors_members_category' in where clause
Таблицата 'tutors_members_category' съществува и името и е написано правилно. Заявката ми изглежда съвсем нормална, защо се получава тази грешка?
Re: шантава работа.
При мен мина. Нарочно направих Copy/Paste от тук за да съм сигурен, че не е някоя особена буквичка като е на кирилица например.
mysql> select * from
->
-> tutors_members,
-> tutors_members_category
->
-> where
->
-> tutors_members.MemberID = tutors_members_category.MemberID
->
-> and
->
-> tutors_members_category.CategoryID = '10,0'
->
-> limit 0, 20 ;
Empty set (0.01 sec)
Е преди това си направих две фалшиви таблици разбира се
CREATE TABLE `tutors_members` (
`MemberID` int(11) default NULL
) TYPE=MyISAM;
CREATE TABLE `tutors_members_category` (
`MemberID` int(11) default NULL,
`CategoryID` int(11) default NULL
) TYPE=MyISAM;
salle.online.bg/sig
mysql> select * from
->
-> tutors_members,
-> tutors_members_category
->
-> where
->
-> tutors_members.MemberID = tutors_members_category.MemberID
->
-> and
->
-> tutors_members_category.CategoryID = '10,0'
->
-> limit 0, 20 ;
Empty set (0.01 sec)
Е преди това си направих две фалшиви таблици разбира се
CREATE TABLE `tutors_members` (
`MemberID` int(11) default NULL
) TYPE=MyISAM;
CREATE TABLE `tutors_members_category` (
`MemberID` int(11) default NULL,
`CategoryID` int(11) default NULL
) TYPE=MyISAM;
salle.online.bg/sig
Re: MySQL - Unknown table
Я провери да не си сложил интервал в името :-)))
tutors_members_category
На мен ми се е случвало с copy/paste да го направя :-)))))
Е тук нищо няма:[линк]
tutors_members_category
На мен ми се е случвало с copy/paste да го направя :-)))))
Е тук нищо няма:[линк]
още по-шантаво
Става още по-шантаво - ако пусна заявката през конзолата, няма проблеми - изпълнява се. Обаче ако копирам всичко и пусна същата заявка (със същите латински букви) през РНР - не се получава - отново не разпознава таблицата.
Re: MySQL - Unknown table
Махнах всички интервали:
$q1 = "select*fromtutors_members,tutors_members_categorywheretutors_members.MemberID=tutors_members_category.MemberIDandtutors_members_category.CategoryID='10,0'";
и после ги сложих както трябва:
$q1 = "select * from tutors_members, tutors_members_category where tutors_members.MemberID = tutors_members_category.MemberID and tutors_members_category.CategoryID = '10,0' ";
Резултат:
Unknown table 'tutors_members_category' in where clause
$q1 = "select*fromtutors_members,tutors_members_categorywheretutors_members.MemberID=tutors_members_category.MemberIDandtutors_members_category.CategoryID='10,0'";
и после ги сложих както трябва:
$q1 = "select * from tutors_members, tutors_members_category where tutors_members.MemberID = tutors_members_category.MemberID and tutors_members_category.CategoryID = '10,0' ";
Резултат:
Unknown table 'tutors_members_category' in where clause
Re: още по-шантаво
Дай целия ред от PHP кода със заявката.
$query = "SELECT * FROM...";
$query = "SELECT * FROM...";
Re: MySQL - Unknown table
Не си ме разбрал
select * from 'tutors_members','tutors_members_category ' where ....
Интервал в ИМЕТО на таблицата.
Можеш да го погледнеш и във файловата система как изглежда.
П.С. Обади се на ИЦЯ-то ако искаш.
Е тук нищо няма:[линк]
select * from 'tutors_members','tutors_members_category ' where ....
Интервал в ИМЕТО на таблицата.
Можеш да го погледнеш и във файловата система как изглежда.
П.С. Обади се на ИЦЯ-то ако искаш.
Е тук нищо няма:[линк]
Re: още по-шантаво
Sorry, не прочетох по-надолу че си го дал. ОК, пробвай така:
SELECT * FROM tutors_members AS t1, tutors_members_category AS t2 WHERE t1.MemberID = t2.MemberID AND t2.CategoryID = '10,0'
И само от любопитсво - защо CategoryID ти e в такъв формат (10,0)?
SELECT * FROM tutors_members AS t1, tutors_members_category AS t2 WHERE t1.MemberID = t2.MemberID AND t2.CategoryID = '10,0'
И само от любопитсво - защо CategoryID ти e в такъв формат (10,0)?
Решението
Мнението на Salle ме наведе на мисълта, че е възможно някъде в самия РНР скрипт някоя и друга буква да е на кирилица и въобще това да е проблем с енкодинга, а не със синтаксиса. Пренаписах целия РНР скрипт, като внимавах винаги да съм на латиница, и сега работи без проблеми.
RE: И само от любопитсво - защо CategoryID ти e в такъв формат (10,0)?
A: това в скобите всъщност е (CategoryID,SubcategoryID).
Благодаря на всички за помоща!
RE: И само от любопитсво - защо CategoryID ти e в такъв формат (10,0)?
A: това в скобите всъщност е (CategoryID,SubcategoryID).
Благодаря на всички за помоща!
Редактирано от $burov на
Re: Решението
Аз веднъж няколко месеца се дзверих на един мой PHP скрипт докато разбера къде е порблема.
Установих, че:
$е=1;
print $e;
ми печата 0 обаче ми отне много време докато схвана поради что ....
това си е недостатък на езиците със свободен синтаксис
salle.online.bg/sig
Установих, че:
$е=1;
print $e;
ми печата 0 обаче ми отне много време докато схвана поради что ....
това си е недостатък на езиците със свободен синтаксис
salle.online.bg/sig