MySQL - Unknown table

9 отговора 341 прегледа
#1

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' съществува и името и е написано правилно. Заявката ми изглежда съвсем нормална, защо се получава тази грешка?

Отговор
в отговор на $burov #2

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
Отговор
в отговор на $burov #3

Re: MySQL - Unknown table

Я провери да не си сложил интервал в името :-)))

tutors_members_category
На мен ми се е случвало с copy/paste да го направя :-)))))

Е тук нищо няма:[линк]
Отговор
в отговор на salle #4

още по-шантаво

Става още по-шантаво - ако пусна заявката през конзолата, няма проблеми - изпълнява се. Обаче ако копирам всичко и пусна същата заявка (със същите латински букви) през РНР - не се получава - отново не разпознава таблицата.

Отговор
в отговор на ro6avia #5

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

Отговор
в отговор на $burov #6

Re: още по-шантаво

Дай целия ред от PHP кода със заявката.

$query = "SELECT * FROM...";

Отговор
в отговор на $burov #7

Re: MySQL - Unknown table

Не си ме разбрал
select * from 'tutors_members','tutors_members_category ' where ....

Интервал в ИМЕТО на таблицата.
Можеш да го погледнеш и във файловата система как изглежда.

П.С. Обади се на ИЦЯ-то ако искаш.

Е тук нищо няма:[линк]
Отговор
в отговор на $burov #8

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)?

Отговор
в отговор на ro6avia #9

Решението

Мнението на Salle ме наведе на мисълта, че е възможно някъде в самия РНР скрипт някоя и друга буква да е на кирилица и въобще това да е проблем с енкодинга, а не със синтаксиса. Пренаписах целия РНР скрипт, като внимавах винаги да съм на латиница, и сега работи без проблеми.

RE: И само от любопитсво - защо CategoryID ти e в такъв формат (10,0)?
A: това в скобите всъщност е (CategoryID,SubcategoryID).

Благодаря на всички за помоща!

Редактирано от $burov на

Отговор
в отговор на $burov #10

Re: Решението

Аз веднъж няколко месеца се дзверих на един мой PHP скрипт докато разбера къде е порблема.

Установих, че:

$е=1;
print $e;

ми печата 0 обаче ми отне много време докато схвана поради что ....
това си е недостатък на езиците със свободен синтаксис

salle.online.bg/sig
Отговор