|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.09.2011, 21:36 | #1 |
Форумчанин
Регистрация: 05.06.2011
Сообщений: 249
|
Плохой цикл
Здравствуйте, я вас буду пытать по конкретному примером, так что прошу извинить за какую либо не ясность!
Вот код! PHP код:
Если $myrow666['id']; имеет два или более значений, то в базу добавляется первое и все, код останавливается, т.е. $res1 принимает fals. Если же $myrow666['id']; не существует то в базу все равно все добавляется. Убирал exit все равно не помогло т.е. в базу добавлялось одно значение. Несколько раз проверял правильность кода, все норм. В чем дело понять не могу, надеюсь на вашу помощь.
Чтобы быть жизнеспособным, нужно приспосабливаться к любой среде. © Хохот Шамана
|
21.09.2011, 22:05 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
На поле zap_id не стоит какой-нибудь PRIMARY KEY, UNIQUE...?
Цикл do{...} while() предназначен для чего угодно - но только не для обработки результатов запроса. Была б моя воля - я б его вообще выпилил из PHP - бесполезнейшая конструкция... |
21.09.2011, 22:17 | #3 |
Форумчанин
Регистрация: 05.06.2011
Сообщений: 249
|
Если честно хз стояло там что-то или нет, но я полез в PHPmyadmin и в эту таблицу, смотрю он что-то подчеркнуты, пытался понять в чем дело, потом удалил и снова создал как INT подчеркивание убралось, проверил скрипт и все сработало!
Очередное, большое спасибо)) Даже хз чтобы бы я делал, на это бы посмотрел дня через два!
Чтобы быть жизнеспособным, нужно приспосабливаться к любой среде. © Хохот Шамана
|
22.09.2011, 00:34 | #4 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
Достаточно одного запроса
PHP код:
|
22.09.2011, 13:17 | #5 |
Форумчанин
Регистрация: 05.06.2011
Сообщений: 249
|
Одним запросом, тут не удастся, так как нужно вписать всем пользователям этот запрос которые удвалитворяют условию!
А что есть явные дырки?
Чтобы быть жизнеспособным, нужно приспосабливаться к любой среде. © Хохот Шамана
|
22.09.2011, 14:43 | #6 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
В sql все можно сделать одним запросом !!!
Ваши поля marka,god,dvig,korobka,privod,vin и т.д. наверняка из базы берутся Тогда все просто делается конструкцией INSERT INTO () SELECT ... FROM .. WHERE ... По поводу безопасности .. я надеюсь вы фильтруете все свои переменные или используете mysq_real_escape_string(). А вообще пора уже переходить на mysqli или PDO и использовать Prepare Statements. К тому же старый драйвер mysql скоро уберут. |
22.09.2011, 15:37 | #7 |
Форумчанин
Регистрация: 05.06.2011
Сообщений: 249
|
Если честно в качестве безопасности я вообще нечего не знаю. Единственное к чему я придерживаюсь, это не оставлять переменные которые не имеют значения! Больше я нечего не знаю в плане безопасности( Да и чтобы изучать нужен какой нить стимул и проверка в реальных условиях, пока несчем подобным не сталкивался!
Чтобы быть жизнеспособным, нужно приспосабливаться к любой среде. © Хохот Шамана
|
22.09.2011, 16:00 | #8 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Безопасность PHP скриптов
Экранирование запросов, SQL-injection Не нужно ждать, пока это произойдет - нужно заранее исключить такую возможность... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) | Mr.User | Помощь студентам | 9 | 23.11.2007 01:34 |