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 :: не обновляет данные в бд

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: не обновляет данные в бд
broshurkaplus
Отправлено: 19 Марта, 2012 - 20:06:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




есть так

PHP:
скопировать код в буфер обмена
  1.     $q1="UPDATE users SET email=$email WHERE nick=...";
  2.     $q2="UPDATE users SET user_q=$q WHERE nick=...";  
  3.  
  4.     @mysql_query($q1);
  5.     @mysql_query($q2);
  6.  

если цифры, то рвботает
если буквами то
2 запрос не выполняется

поле user_q varchar(100)
отправляю постом яваскриптом на квери
подскажите почему?

(Отредактировано автором: 19 Марта, 2012 - 20:14:41)

 
 Top
alexiy
Отправлено: 19 Марта, 2012 - 20:14:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




$email $q следует взять в одинарные кавычки : '$q' '$email' и зачем используете @?
 
 Top
Мелкий Супермодератор
Отправлено: 19 Марта, 2012 - 20:16:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




phpfaq.ru/debug


-----
PostgreSQL DBA
 
 Top
broshurkaplus
Отправлено: 19 Марта, 2012 - 20:24:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




ну типа @ подавляет ошибы, ПОХОДУ Я ТАК С полГода делаю уж и непомню
а почему ненужно?
 
 Top
alexiy
Отправлено: 19 Марта, 2012 - 20:26:35
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




broshurkaplus '$q' '$email' попробуйте так, думаю проблема в этом, на сколько я помню @ - позволяет выполнить действие даже если в нем ошибка, в следствии усложняет поиск самой ошибки
Сугубо мое мнение...
 
 Top
broshurkaplus
Отправлено: 19 Марта, 2012 - 20:36:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




@ - походу не даёт показывать ошибки в экран, если они есть, ее после тестирования ставлю, а тут контрол С В сработал
да ' помогло, я обычно ко всему это ставлю, но тут на рабочем домене тесчу скрипт изменения юзерских данных в 200строк и пропустил, форма на 20 полей, данные для каждого раза почти все вбивать надо,
вам +1

есчо ?
за раз проверить выполнение можно или по одной строке обновление бд?
это ошибку даёт
PHP:
скопировать код в буфер обмена
  1.     if(mysql_query($q1) AND mysql_query($q2){
  2.     echo "ok";
  3.     }

а хотелось бы...
пока так



после завершения ок, а хотелось бы в одной строке проверять, а не делать по одной , писать переменные , складывать суму и если =2 например, то оба запроса выполнились...
как в одной стоке?
да т нпрпомните в чём разница с ' 'и без, а то в мануалы давно не лазид Улыбка позабыл...

(Отредактировано автором: 19 Марта, 2012 - 20:43:43)

 
 Top
alexiy
Отправлено: 19 Марта, 2012 - 20:42:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




ну насколько я встречал, чаще используется такое

если запрос выполниться нормально, то хорошо
если нет, то вылетит ошибка
 
 Top
broshurkaplus
Отправлено: 19 Марта, 2012 - 20:48:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




это понятно... убить запрос при ошибке...
а тут смысл - если все выполнились, то ок, а если хоть один не ввыполнился, то возвращаю ошибку юзеру и (или) бывшие данные назад ставлю, как правило тесчу и ловлю ошибки, до внесения в бд проверяю, и выдаю тока то что не обновилось...

пока оставил

mysql_query($q1);
mysql_query($q2);
echo "ok";

есть мысли?
и
нпрпомните в чём разница с ' 'и без, а то в мануалы давно не лазид позабыл...
 
 Top
alexiy
Отправлено: 19 Марта, 2012 - 20:53:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




broshurkaplus думаю стоить влезть в мануалы Улыбка
числовые значения могут не браться в одинарные кавычки, в то время как строковые значения надо обрамлять в одинарные кавычки.
Насчет проверки запросов, я наверно не совсем ловлю Вашу мысль, но мне кажется, что как Вы выразились "убить запрос при ошибке" не плохой вариант, если не было ошибок, то все хорошо, если есть, то следует предпринять какие-либо действия
 
 Top
broshurkaplus
Отправлено: 19 Марта, 2012 - 21:02:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




по поводу числовых и строковых, я тут давече такое видел и сам бился
три чекбокса
валуе по умолчанию 0 кликаем, функцикй меняем на 1
отправляем постом квери на обработку
получаем общее значение

зн=зн1.зн2.зн3

поле варчар(3)
так вот если не взять в кавфчки и общее=111 то вставляется, а если =000 то вставляется только 0
это я так из 111 потом права парсю - по одной цифре : какие из данных юзерп отображать 1 показывать,0 нет.

вот проюлема... если имею 000 и без кавычек, то вставится только 0 а не 000, поэтому все в кавычки и уж не помнил почему Улыбка
 
 Top
alexiy
Отправлено: 19 Марта, 2012 - 21:05:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




broshurkaplus ну возможно дело в том, что если без кавычек, значит число, а число ввиде 000 трудно представить, если же '000' то строка Улыбка
 
 Top
broshurkaplus
Отправлено: 19 Марта, 2012 - 21:11:29
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




пхп походу ведь сам преобразуе типы , поэтому я всегда кавычки ставлю, кроме как ИМЕЕННо число надо будет дальше юзать...
как выше мнение?
в этом моменте мне надо было число...
жду ваше менения и спать
 
 Top
alexiy
Отправлено: 19 Марта, 2012 - 21:13:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




broshurkaplus делайте, как указано в документации Улыбка
http://www.w3schools.com/php/php_mysql_insert.asp

(Отредактировано автором: 19 Марта, 2012 - 21:16:29)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB