[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: (int)
two
Где необходимо писать эту функцию: (int) ?
Тут, при объявлении переменной ?
$page = !empty($_GET['page']) ? (int)$_GET['page'] : NULL;

Иль при самом запросе:
mysql_query("SELECT * FROM `table` WHERE `id` = ". (int)$page);

Если поставить при объявлении переменной и если переменная $_GET['page'] равна 0, то запрос выдаёт ошибку. Но если ставить только в запросе, то при дальнейшей работе с переменной $page везде приёдеться дописывать (int) что тоже не очень удобно.

Так как же поступать в данной ситуации?



Спустя 18 минут, 43 секунды (11.02.2011 - 04:05) YVSIK написал(а):
стоп! а для чего вы Это используете?
и для чего использовать (int) ?
проше нельзя обьявить переменную?
потом ещё, так думаю что это вы не объявляете переменную
вы её инициализируете может?
так оно будет правильней ДА?

Спустя 4 минуты, 44 секунды (11.02.2011 - 04:10) two написал(а):
YVSIK
Да инициализирую. (int) использую для того, чтобы в $page могло быть только число.

Спустя 7 минут, 37 секунд (11.02.2011 - 04:18) YVSIK написал(а):
переменную мы инициализировали
говорим правильно (надо с самого начала не надо привыкать к не правельному
вырожению это в последствии даёт неправильные понятия и далее
идет путаница {это моя заметка для меня обижайся }
)
вот а потом уже можно её-же превратить в какую надо
я например так думаю
two
не надо всё в одну кучу сваливать ДА?

Спустя 39 минут, 52 секунды (11.02.2011 - 04:58) Invis1ble написал(а):
two
Цитата
Так как же поступать в данной ситуации?

ставить там, где это действительно нужно. Вобще-то (при правильной логике), хватает использования этой конструкции непосредственно в самом запросе.
Если тебе нужно работать со значением как с integer сразу в нескольких местах кода, то юзай intval()

Спустя 2 часа, 31 минута, 23 секунды (11.02.2011 - 07:29) nugle написал(а):
Цитата ("YVSIK")
надо с самого начала не надо

Мне вот эта фраза понравилась biggrin.gif

Спустя 1 час, 20 минут, 54 секунды (11.02.2011 - 08:50) Dron19 написал(а):
Цитата (nugle @ 11.02.2011 - 04:29)
Цитата ("YVSIK")
надо с самого начала не надо

Мне вот эта фраза понравилась biggrin.gif

Да мне тоже... YVSIK, да, но тут не просто инициализировал переменную, а обьявил и инициализировал. Сам же не правильно говоришь.

Спустя 32 минуты, 14 секунд (11.02.2011 - 09:22) linker написал(а):
Забудьте про empty() в данном контексте, только isset().
$page = isset($_GET['page']) ? (int)$_GET['page'] : 0;

Спустя 1 час, 58 минут, 27 секунд (11.02.2011 - 11:21) YVSIK написал(а):
ничего будет и на нашей улице праздник,
а есль смешно так это хорошо
вот вы тож повесилились, не всё-ж
сидеть буками
Цитата (YVSIK @ 11.02.2011 - 04:18)
(надо с самого начала не надо

примерно так===>надо с самого начала, ........ не надо...............

Спустя 52 минуты, 21 секунда (11.02.2011 - 12:13) inpost написал(а):
two
При первом варианте - создаёшь линюю переменную, забиваешь память ненужной информацией, которую нигде не используешь кроме запроса, поэтому логичнее было бы использовать (int) непосредственно в запросе. С другой стороны ошибки быть не должно, просто выбираются 0 записей, поэтому проверяем количество записей через: mysql_num_rows() > 0, и если удовлетворяет запись, тогда пользуемся mysql_fetch_assoc() , в цикле и без.

Спустя 2 часа, 27 минут, 14 секунд (11.02.2011 - 14:40) two написал(а):
inpost
Работать с глобальными переменными нельзя, правильно?

linker
А с текстовыми переменными работать так:
$title = isset($_POST['title']) ? trim($_POST['title']) : NULL;

Иль тут можно писать с !empty() ?

И в самом запросе пишем так:
mysql_query("INSERT INTO `post` (id, text) VALUES (". (int)$id .", '". mysql_real_escape_string($title) ."')");


Верно?

Спустя 54 минуты, 54 секунды (11.02.2011 - 15:35) inpost написал(а):
two
$_POST['title'] - одна переменная, памяти занято 10кб (к примеру)
$title = $_POST['title'] - создали новую переменную, опять 10кб (=20кб).
Что выгоднее, работать сразу с уже существующей, или пересоздавать новую?

Можно !empty, не вижу в этом проблем.

Спустя 7 минут, 44 секунды (11.02.2011 - 15:43) linker написал(а):
$title = isset($_POST['title']) ? $_POST['title'] : '';
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.