Абырвалг, не ровняй хуй с пальцем
кароче - Zend.Db* - гавнище. То ли дело доктрина какая-нить
Форум → Программирование → PHP для идиотов → Опять зеднохрень или я туплю!!?
Опять зеднохрень или я туплю!!?
Страницы: ← Предыдущая страница • Следующая страница →
-
Июнь 11, 2010, 6:40 п.п., спустя 2 минуты 9 секунд
-
Июнь 11, 2010, 6:44 п.п., спустя 4 минуты 15 секунд
NRG, оо, привет. Расскажи верно ж я говорю. Или там надо что то делать? -
Июнь 11, 2010, 6:46 п.п., спустя 1 минуту 35 секунд
kostyl, молодец, ты использовал иф. только нахуй такую полемику разводить ))Сапожник без сапог -
Июнь 11, 2010, 6:57 п.п., спустя 11 минут 33 секунды
phpdude, та какая полемика, я просто спросил, ты потом ответил, на ооп всё замяли и я успокоился, но… -
Июнь 11, 2010, 7:40 п.п., спустя 42 минуты 43 секунды
kostyl, у нас решение такое, унас есть свой обьект селекта который отнаследован от Zend_Db_Select.
и в котором метод where() переопределен<?php
public function where($cond, $value = null, $type = null)
{
if (is_null($value) && is_null($type)) {
$value = '';
}
if (is_array($value)) {
$cond = $this->_adapter->quoteInto($cond, $value);
$value = null;
}
return parent::where($cond, $value, $type);
} -
Июнь 11, 2010, 7:57 п.п., спустя 17 минут 9 секунд
NRG, ну я типа того и думал, где то вставить ''. Спасибо. -
Июнь 11, 2010, 8:11 п.п., спустя 13 минут 54 секунды
я тебе во втором моем посте сказал унаследуй и перепиши вере метод :D
NRG, ну я типа того и думал, где то вставить ''. Спасибо.Сапожник без сапог -
Июнь 11, 2010, 8:24 п.п., спустя 12 минут 50 секунд
я тебе во втором моем посте сказал унаследуй и перепиши вере метод
так я знаю ;) помню, я понял и тогда.
аа, ты наверно за моё спасибо к НРГ?
Так это спасибо за то, что он откликнулся, а не за то, что он предложил. -
Июнь 11, 2010, 10:57 п.п., спустя 2 часа 33 минуты 33 секунды
kostyl, нет, не за спасибо. это был обычный стеб, расслабьсяСапожник без сапог -
Июнь 12, 2010, 4:48 д.п., спустя 5 часов 50 минут 7 секунд
kostyl, извини, что я начал всё разжевывать как первокласнику. просто перед этим боролся с тупостью по работе, вот под настроение попал.
А с NULL все-таки все непросто :)ιιlllιlllι унц-унц -
Июнь 12, 2010, 5:11 д.п., спустя 23 минуты 49 секунд
Пример
CREATE TABLE `test` (
`fname` varchar(10) NOT NULL default '',
`fvalue` varchar(80) default NULL,
PRIMARY KEY (`fname`)
);
INSERT INTO `test` VALUES ('alfa', 'sa sagjsa jshg jasj');
INSERT INTO `test` VALUES ('beta', 'qtyrwqyrqwyeyw wqwq');
INSERT INTO `test` VALUES ('gama', NULL);
И, например, я хочу получить те строки, где fvalue пустая.
[tt] WHERE fvalue='' [/tt]
или
[tt] WHERE fvalue=NULL[/tt]
не проканает. Только
[tt] WHERE fvalue IS NULL[/tt]
Возвращаемся к нашей задаче
$fvalue = NULL;
$select->where('fvalue = ?', $fvalue);
Стандартный класс создаст ошибочный запрос, ты написал почему.
Решение от NRG создаст условие
[tt] fvalue=''[/tt]
синтаксически верно, но находить запись не будет! В Oracle помоему нашла бы, а в MySql не будет.
Надо что-то типа
if (is_null($fvalue)) {
$select->where('fvalue IS NULL');
} else {
$select->where('fvalue = ?', $fvalue);
}Спустя 33 сек.всё, бля, молчу, молчуιιlllιlllι унц-унц -
Июнь 12, 2010, 10:24 д.п., спустя 5 часов 12 минут 40 секунд
artoodetoo, я прекрасно понимаю о чем ты говоришь, но это решение не к месту.
если ему нужно просто "заглушить" запрос в том случае если value = null, то он все правильно делает, т.е. если value нету, то просто не надо ничего выбирать.
в твоем же варианте, ты предлагаешь выбирать записи с нулом если value не засетан. -
Июнь 12, 2010, 10:38 д.п., спустя 13 минут 43 секунды
если ему нужно просто "заглушить" запрос в том случае если value = null, то он все правильно делает, т.е. если value нету, то просто не надо ничего выбирать
именно так!kostyl, нет, не за спасибо. это был обычный стеб, расслабься
та ладно, ты по любому обиделся, что я ему сказал, а тебе нет. -
Июнь 12, 2010, 10:47 д.п., спустя 8 минут 52 секунды
как вы заебали со своим нуллом ))))
меня все заебло, в киеве 30 градусов жары, повышеная влажность….. пздц короче
я поехал купатся в озере. -
Июнь 12, 2010, 11:52 д.п., спустя 1 час 5 минут 8 секунд
ok. было бы совсем грамотно различать когда переменная не определена и когда она равна NULL.
if (isset($fvalue)) {
if (is_null($fvalue)) {
$select->where('fvalue IS NULL');
} else {
$select->where('fvalue = ?', $fvalue);
}
}
Спустя 95 сек.p.s. если никто не слажает, буду вечером ходить под парусом. заебали со своими кампутерами-шмапутерамиιιlllιlllι унц-унц
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!