- RU.PHP.CHAINIK --------------------------------------------- RU.PHP.CHAINIK -
Msg : #2034 [501]
От : Alex Krasnyansky 2:461/444.2 04 августа 04, 17:17
Кому : Ivan Sologub 05 августа 04, 21:08
Тема : выбоpка
-------------------------------------------------------------------------------
Привет, Ivan!
В письме, написанном <04 Авг 04> в 11:26, Ivan Sologub писал к Alex
Krasnyansky:
IS> Вдогонкy пpидyмалось: $sample="'blablabla'" неyжели в этом слyчае мой
IS> ваpиант не бyдет pаботать? :) "Садись, два" (с)
Хотя всё это к PHP никакого отношения не имеет, но... таки отвечу.
итак, поехали. Отвечаю сразу на оба твоих ответа.
пихаем mysql-ю разные варианты нашей исходной, предложенной тобой строки
1. select * from $table_name where rus_name like $source order by $source
2. select * from $table_name where rus_name like %$source order by $source
3. select * from $table_name where rus_name like '$source' order by $source
где $source="abcd"
mysql получит такие запросы в результате :
1. select * from table_name where rus_name like abcd
В этом случае получим от него матюк "мужик, а у тебя нет в таблице _поля_ с
_именем_ abcd"
(ERROR 1054:Unknown column 'abcd' in 'where clause')
2. select * from table_name where rus_name like %abcd
В этом случае получим матюк "синтаксическая ошибка"
(ERROR 1064: You have an error in your SQL syntax near '%abcd' at line 1)
3. select * from table_name where rus_name like 'abcd' order by rus_name
В этом случае - таки получим выборку всех строк таблицы, в которых значение
поля rus_name _тождественно_ с 'abcd'. Согласись, что в этом случае сортировать
выборку по abcd бессмыссленно. Все строки выборки в этом случае ничем друг от
друга не отличаются.
ps а насчёт $sample='%рыба%' - поверь, автор исходного вопроса никаких
процентов там у себя не ставил (на 99.9% уверен). А вот твой ответ на его
вопрос "где глюк, почему мускул ругается на синтаксическую ошибку" - был
неверным (твой совет точно также приведёт к результатам 1 либо 2), и не надо
выкручиваться.
Alex
--- kranscana.com.ua fidoscana.net.ua
* Origin: Lamer's Station (2:461/444.2)