MySQL - в чем беда?

Shadow(MX)

Новичок
MySQL - в чем беда?

Делаю следующее:
$litera = "А";
$query = mysql_query("SELECT * FROM katalog WHERE litera='".$litera."'");

while ($row = mysql_fetch_array($query)) {
.......код вывода.......
}

Он мне выводит:
litera termin opisanie // Поля таблицы

А Авторучка Описание авторучки
Б Бинокль Описание бинокля
A Aerobus Manual

Вопрос:
Как заставить его выводить именно ту строку, которую я запрашиваю?:confused:

Свойства полей таблицы:
litera char(1)
termin varchar(100)
opisanie text
 

neko

tеam neko
очередное гениальное применение двойных кавычек:

"SELECT * FROM katalog WHERE litera='".$litera."'"
...
 

Shadow(MX)

Новичок
Чем кавычки-то не угодили?

А кодировки ради меня никто менять не будет... :)
 

neko

tеam neko
ты знаешь чем в php двойные кавычки отличаются от одинарных?

если нет -- прочти и не пиши так
если да -- зачем тогда так пишешь?
 

Demiurg

Guest
>А кодировки ради меня никто менять не будет...
тогда делай все в юникоде.
 

Shadow(MX)

Новичок
2neko:
Знаю чем отличаются. Только этот запрос всего кусочек от полной строки.

2Demiurg:
Видимо придется.
 

neko

tеam neko
ах, вот оно что, от полной строки...

это, конечно, объясняет такое использование двойных кавычек и конкатенации.
 

neko

tеam neko
тем, что они используются чтобы экспандить переменные и спецсимволы. в приведенном запросе ни первого, ни второго -- нет.

зато перменные к этой стоке прилеплены конкатенацией! спрашивается, что мешало использовать одинарные? или почему было перменные прямо туда не вставить?
 

Tigr

Новичок
Larson ->документация Тип данных->Строки

время, деньги :) хотя в данном случае и незначительные
 

Shadow(MX)

Новичок
2Larson:
Точно. Мне так потом разбирать проще. :)

Кстати проблему решил без внесения изменений в php.ini или еще куда-либо. Криво конечно, но работает:
Сначала толкаем в одну кодировку - convert_cyr_string($data[0],"w","i")
Потом вытаскиваем - convert_cyr_string($litera,"w","i")

Вот так.
 
Сверху