Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Проверять на isset.
Присваивание в 3-ей строке - баг или фича? (Добавление)
Зверь пишет:
if(присваивать значения переменным здесь нельзя)
Можно.
----- PostgreSQL DBA
Зверь
Отправлено: 10 Февраля, 2012 - 15:06:11
Частый гость
Покинул форум
Сообщений всего: 243
Дата рег-ции: Окт. 2011
Помог: 7 раз(а)
Действительно можно По-моему раньше это у меня выбивало parse error, впрочем какая разница, оно всегда возвращает true
Мелкий
Отправлено: 10 Февраля, 2012 - 15:08:43
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Зверь пишет:
какая разница, оно всегда возвращает true
Не всегда, а только если присваиваемое значение приводится к true.
Неужто никогда не писали while($row = mysql_fetch_assoc($res))? Тот же смысл.
----- PostgreSQL DBA
EuGen
Отправлено: 10 Февраля, 2012 - 15:16:05
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Мелкий пишет:
Не всегда, а только если присваиваемое значение приводится к true
Оно всегда приведется к boolean (т.к. в if интерпретатор ожидает boolean - и, стало быть, оператор присваивания приводится к boolean в любом случае). Дело другое, что оно может при приведении к boolean стать false (если, например, присваимое значение есть 0 или null или false и т.п.)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Зверь
Отправлено: 10 Февраля, 2012 - 15:16:49
Частый гость
Покинул форум
Сообщений всего: 243
Дата рег-ции: Окт. 2011
Помог: 7 раз(а)
Мелкий пишет:
Зверь пишет:
какая разница, оно всегда возвращает true
Не всегда, а только если присваиваемое значение приводится к true.
Неужто никогда не писали while($row = mysql_fetch_assoc($res))? Тот же смысл.
Не приходилось буду знать
Пользуюсь pdo, у него есть прекрасный метод fetchAll
EuGen
Отправлено: 10 Февраля, 2012 - 15:18:51
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Зверь пишет:
Пользуюсь pdo, у него есть прекрасный метод fetchAll
... который я настоятельно рекомендую не использовать. Дело в том, что этот метод загружает в память всю структуру строк таблицы, тогда как fetch() - только ту строку, которой соответствует внутренний указатель. Иными словами, при числе строк в выборке, скажем, 10000 - начинаются значительные потери памяти.
Но это, как я полагаю, уже вне темы.
По теме: ошибка означает то, что в $_POST нет указанного индекса (то есть соответствующий параметр не передан)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Зверь
Отправлено: 10 Февраля, 2012 - 15:23:59
Частый гость
Покинул форум
Сообщений всего: 243
Дата рег-ции: Окт. 2011
Помог: 7 раз(а)
EuGen пишет:
Иными словами, при числе строк в выборке, скажем, 10000 - начинаются значительные потери памяти.
Пока нет необходимости использовать данные в таком количестве
LIMIT решает
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
criaton а вообще Notice это не совсем ошибка
это замечание
работать будет если убрать вывод ошибок (Добавление)
Зверь пишет:
f(присваивать значения переменным здесь нельзя)
можно любые выражения использовать
и если результат отличен от пустой строки нуля или чего там еще)) тогда тру
а иначе иначе )) (Добавление)
ой чтото с вниманием у меня ))
criaton
Отправлено: 10 Февраля, 2012 - 16:58:52
Гость
Покинул форум
Сообщений всего: 93
Дата рег-ции: Февр. 2010
Помог: 0 раз(а)
Зверь, спасибо. LIME, да я знаю, это замечание, но его не хотелось отключать.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.