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 :: не обновляет данные в бд
Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011
Помог: 6 раз(а)
$email $q следует взять в одинарные кавычки : '$q' '$email' и зачем используете @?
Мелкий
Отправлено: 19 Марта, 2012 - 20:16:09
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
phpfaq.ru/debug
----- PostgreSQL DBA
broshurkaplus
Отправлено: 19 Марта, 2012 - 20:24:18
Посетитель
Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011 Откуда: Пружаны Бресткая обл. Беларусь
Помог: 2 раз(а)
ну типа @ подавляет ошибы, ПОХОДУ Я ТАК С полГода делаю уж и непомню
а почему ненужно?
alexiy
Отправлено: 19 Марта, 2012 - 20:26:35
Посетитель
Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011
Помог: 6 раз(а)
broshurkaplus '$q' '$email' попробуйте так, думаю проблема в этом, на сколько я помню @ - позволяет выполнить действие даже если в нем ошибка, в следствии усложняет поиск самой ошибки
Сугубо мое мнение...
broshurkaplus
Отправлено: 19 Марта, 2012 - 20:36:28
Посетитель
Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011 Откуда: Пружаны Бресткая обл. Беларусь
Помог: 2 раз(а)
@ - походу не даёт показывать ошибки в экран, если они есть, ее после тестирования ставлю, а тут контрол С В сработал
да ' помогло, я обычно ко всему это ставлю, но тут на рабочем домене тесчу скрипт изменения юзерских данных в 200строк и пропустил, форма на 20 полей, данные для каждого раза почти все вбивать надо,
вам +1
есчо ?
за раз проверить выполнение можно или по одной строке обновление бд?
это ошибку даёт
после завершения ок, а хотелось бы в одной строке проверять, а не делать по одной , писать переменные , складывать суму и если =2 например, то оба запроса выполнились...
как в одной стоке?
да т нпрпомните в чём разница с ' 'и без, а то в мануалы давно не лазид позабыл...
если запрос выполниться нормально, то хорошо
если нет, то вылетит ошибка
broshurkaplus
Отправлено: 19 Марта, 2012 - 20:48:23
Посетитель
Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011 Откуда: Пружаны Бресткая обл. Беларусь
Помог: 2 раз(а)
это понятно... убить запрос при ошибке...
а тут смысл - если все выполнились, то ок, а если хоть один не ввыполнился, то возвращаю ошибку юзеру и (или) бывшие данные назад ставлю, как правило тесчу и ловлю ошибки, до внесения в бд проверяю, и выдаю тока то что не обновилось...
пока оставил
mysql_query($q1);
mysql_query($q2);
echo "ok";
есть мысли?
и
нпрпомните в чём разница с ' 'и без, а то в мануалы давно не лазид позабыл...
alexiy
Отправлено: 19 Марта, 2012 - 20:53:41
Посетитель
Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011
Помог: 6 раз(а)
broshurkaplus думаю стоить влезть в мануалы
числовые значения могут не браться в одинарные кавычки, в то время как строковые значения надо обрамлять в одинарные кавычки.
Насчет проверки запросов, я наверно не совсем ловлю Вашу мысль, но мне кажется, что как Вы выразились "убить запрос при ошибке" не плохой вариант, если не было ошибок, то все хорошо, если есть, то следует предпринять какие-либо действия
broshurkaplus
Отправлено: 19 Марта, 2012 - 21:02:47
Посетитель
Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011 Откуда: Пружаны Бресткая обл. Беларусь
Помог: 2 раз(а)
по поводу числовых и строковых, я тут давече такое видел и сам бился
три чекбокса
валуе по умолчанию 0 кликаем, функцикй меняем на 1
отправляем постом квери на обработку
получаем общее значение
зн=зн1.зн2.зн3
поле варчар(3)
так вот если не взять в кавфчки и общее=111 то вставляется, а если =000 то вставляется только 0
это я так из 111 потом права парсю - по одной цифре : какие из данных юзерп отображать 1 показывать,0 нет.
вот проюлема... если имею 000 и без кавычек, то вставится только 0 а не 000, поэтому все в кавычки и уж не помнил почему
alexiy
Отправлено: 19 Марта, 2012 - 21:05:05
Посетитель
Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011
Помог: 6 раз(а)
broshurkaplus ну возможно дело в том, что если без кавычек, значит число, а число ввиде 000 трудно представить, если же '000' то строка
broshurkaplus
Отправлено: 19 Марта, 2012 - 21:11:29
Посетитель
Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011 Откуда: Пружаны Бресткая обл. Беларусь
Помог: 2 раз(а)
пхп походу ведь сам преобразуе типы , поэтому я всегда кавычки ставлю, кроме как ИМЕЕННо число надо будет дальше юзать...
как выше мнение?
в этом моменте мне надо было число...
жду ваше менения и спать
alexiy
Отправлено: 19 Марта, 2012 - 21:13:52
Посетитель
Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011
Помог: 6 раз(а)
broshurkaplus делайте, как указано в документации
http://www.w3schools.com/php/php_mysql_insert.asp
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.