Регистрация    Забыли пароль?        Правила форума    FAQ (читать перед созданием новой темы)
Имя   Пароль  запомнить
  
Просмотр темы
Вернуться на сайт: PHP-Fusion SF Russian Support Site

Форум поддержки PHP-Fusion SF | PHP-Fusion SF - Моды/Плагины | Моды/Mods
# 1 Тема: Как правильно передавать значения в SQL запрос
Spot-up
Пользователь

Avatar пользователя




Местный

Сообщений: 19
Зарегистрирован: 20 Марта 2012, 11:08:36
Сказали спасибо 0 раз
Статус: offline
Опубликовано 03 Апреля 2012, 05:20:22
Есть таблица
CREATE TABLE IF NOT EXISTS `zakazy` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`zakazy_vremya` datetime NOT NULL,
`zakazy_operator` int(11) DEFAULT NULL,
`zakazy_sost` tinyint(4) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
)
Добавление новой записи

if (условие) {$v2=$oper_id}
else {$v2=NULL};
$v3=1;
$q=dbquery("INSERT INTO zakazy VALUES(".time().", ".$v2.", ".$v3.")");




Как правильно передать текущее время, null и число?


[Изменил(а) Spot-up, 03 Апреля 2012, 05:22:56]  
^ наверх ^
# 2  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 03 Апреля 2012, 21:32:13
Проверить чтоли их? Или что?


--------------------
Retired
^ наверх ^
# 3  
Spot-up
Пользователь

Avatar пользователя




Местный

Сообщений: 19
Зарегистрирован: 20 Марта 2012, 11:08:36
Сказали спасибо 0 раз
Статус: offline
Опубликовано 04 Апреля 2012, 08:44:56
Разобрался, но вместо time() использовал функцию MySQL now()
Теперь другой вопрос:
Почему во фьюжне значения полей форм перед записью в БД обрабатываются функцией stripinput,
ведь везде рекомендуют обратное (addslashes)
например вот здесь
 
^ наверх ^
# 4  
Sky
Супер Администратор

Avatar пользователя

АнарХия Х4

Администратор

Сообщений: 3023
Откуда: Astana
Зарегистрирован: 01 Апреля 2007, 18:11:10
Сказали спасибо 470 раз
Статус: offline
Опубликовано 04 Апреля 2012, 12:20:38
Spot-up написал:
Разобрался, но вместо time() использовал функцию MySQL now()
Теперь другой вопрос:
Почему во фьюжне значения полей форм перед записью в БД обрабатываются функцией stripinput,
ведь везде рекомендуют обратное (addslashes)
например вот здесь


Nik посчитал что так будет лучше, поэтому и используется эта функция. Замечу, что stripinput это внутренняя функция системы и практически повторяет функционал addslashes. Так что не переживайте =)


--------------------
Я в контакте

Народ читаем и запоминаем!
Не помогаю по ICQ
Не помогаю по ЛС
буду просто игнорировать эти сообщения!
Все вопросы задаем на форуме, но предварительно пользуемся поиском!
^ наверх ^
# 5  
Spot-up
Пользователь

Avatar пользователя




Местный

Сообщений: 19
Зарегистрирован: 20 Марта 2012, 11:08:36
Сказали спасибо 0 раз
Статус: offline
Опубликовано 05 Апреля 2012, 05:32:33
function stripinput($text) {
if (!is_array($text)) {
if (QUOTES_GPC) $text = stripslashes($text);
$search = array("&", "\"", "'", "\\", '\"', "\'", "<", ">", " "smiley;
$replace = array("&", """, "'", "\", """, "'", "<", ">", " "smiley;
$text = str_replace($search, $replace, $text);
} else {
while (list($key, $value) = each($text)) {
$text[$key] = stripinput($value);
}
}
return $text;
}




т. е., если магические кавычки включены, то вызывается не аддслэшес, а именно стрипслэшес
и убирает слэши
 
^ наверх ^
# 6  
Sky
Супер Администратор

Avatar пользователя

АнарХия Х4

Администратор

Сообщений: 3023
Откуда: Astana
Зарегистрирован: 01 Апреля 2007, 18:11:10
Сказали спасибо 470 раз
Статус: offline
Опубликовано 05 Апреля 2012, 07:47:17
Если включены magic_quotes то убираются слеши добавленные этим магическим методом, а потом уже применяется функция stripinput для замены сущностей на безопасные!
Вот несколько ссылок по теме
Почему не надо использовать волшебные кавычки
Отключение волшебных кавычек


[Изменил(а) Sky, 05 Апреля 2012, 07:47:56]

--------------------
Я в контакте

Народ читаем и запоминаем!
Не помогаю по ICQ
Не помогаю по ЛС
буду просто игнорировать эти сообщения!
Все вопросы задаем на форуме, но предварительно пользуемся поиском!
^ наверх ^
Перейти на форум:


94,131,558 уникальных посетителей
сейчас: 28 Марта 2024, 17:23:11
Генерация страницы: 0.31 сек.