в форме пишу начальную ($firstdate) и конечную дату ($lastdate), дальше делаю запрос на пхп на выборку всех данных из таблицы obyav where ((left(obyav.data,10)>="$firstdate") and (left(obyav.data,10)<="$lastdate")) left(obyav.data,10) потому что у меня при создании записи в это поле записывается now(). формат получается типа: "2007-01-01 00:00:00". То есть путем left выбираю только первые 10 символов и сравниваю ее с тем что я ввел в форме. Проблема: не получается запрос! то есть ошибки со стороны компилятора нет. просто ни одной записи не выводит, хотя если такой запрос применить: where ((left(obyav.data,10)>="2006.01.01") and (left(obyav.data,10)<="2007.01.01")) - то все идёт. переменные эти проверял сто раз, туда все хорошо записывается. в чем дело понять не могу... глююююююки...
Хы... У Вас сам SQL-запрос в PHP записан в апострофах (')? Если да, то их надо заменить на кавычки ("), так как в апострофах переменные не интерполируются (заменяются).
не знаю. я всегда так пишу и все запросы до этого работали. а записи типа $sql=mysql_query('select * from obyav where ((left(obyav.data,10)>="$firstdate") and (left(obyav.data,10)<="$lastdate"))');
PHP: <?php $a = "Draak"; $output1 = 'Мой ник "$a"'; $output2 = 'Мой ник "'.$a.'"'; echo($output1); // Мой ник "$a" echo($output2); // Мой ник "Draak" ?>
Сделайте print 'select * from obyav where ((left(obyav.data,10)>="$firstdate") and (left(obyav.data,10)<="$lastdate"))';