Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Защита от SQL инъекций
----- Был Ламером, пытался чему-то научится, спустя 2 года так и остался ламером.
OrmaJever
Отправлено: 13 Марта, 2015 - 21:30:37
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Господи 2015 год на дворе, а тут ещё заводят темы про sql иньекции. prepared statement и всё, забыли навсегда! я не удивлюсь если вы ещё mysql_query пользуетесь
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
xTODx
Отправлено: 13 Марта, 2015 - 21:48:40
Посетитель
Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2013 Откуда: Киев/Шостка
Помог: 1 раз(а)
OrmaJever пишет:
Господи 2015 год на дворе, а тут ещё заводят темы про sql иньекции. prepared statement и всё, забыли навсегда! я не удивлюсь если вы ещё mysql_query пользуетесь
её самою.
Тогда уж простите, скиньте ссылки на информацию, чтобы я стал на уровень выше в этом деле!
Я понял что sql_execute нужно использовать, и связанные переменные, так?
это решит все проблемы?
А если у меня несколько значений, и я заранее не знаю сколько у меня будет ?
в смысле мне нужно сделать функцию, в которую я буду передавать запрос, идентификаторы, и параметры.
как быть с
----- Был Ламером, пытался чему-то научится, спустя 2 года так и остался ламером.
exlant
Отправлено: 14 Марта, 2015 - 01:03:54
Посетитель
Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015
Помог: 14 раз(а)
Цитата:
А если у меня несколько значений, и я заранее не знаю сколько у меня будет ?
в смысле мне нужно сделать функцию, в которую я буду передавать запрос, идентификаторы, и параметры.
как быть с
Верно?
А &(ссылка на переменную) это указатель(как в с++) на ячейку памяти, нет?
в bind_param можно передать массив с помощью call_user_func_array, так?
т.е.
trigger_error('Not run execute: <b>'.$stmt->error.'('.$stmt->errno.')</b>!',E_USER_ERROR);
$result=$stmt->get_result();
$stmt->close();
return$result;
}//функция которая будет выполнять заявки.
}
$db=new Db();
/*$this-> использует переменные с другого класса, mysql_error() - ошибки бд,
команда установки кодировки если не вышло, вывести ("текст")
mysql_query("set names utf8") or die ("set name utf8 failed") */
?>
Вот, вроде разобрался, теперь начал переделывать запросы DB(работы мягко говоря валом).
Если мне не нужно передавать массив, а в запросе нету внешних данных, можно сделать так?
----- Был Ламером, пытался чему-то научится, спустя 2 года так и остался ламером.
exlant
Отправлено: 14 Марта, 2015 - 11:52:41
Посетитель
Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015
Помог: 14 раз(а)
Цитата:
Дальше вот такая вот вещь вылазит
Цитата:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, object given in [Путь тут] on line 6
а при чем здесь вообще mysql? забудьте про mysql!
mysql_error() - здесь тоже работать не будет!
между fetch_assoc и fetch_array, разница точно такая я же, как и была в mysql! assoc помещает в ассоциативный массив, array помещает в два массива: обычный массив, и в ассоциативный(или в тот, который который указан в ключах)! Я обычно использую fetch_assoc, поэтому его и указал.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.