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
Форумы портала PHP.SU :: Версия для печати :: Не выполняется запрос UPDATE
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Не выполняется запрос UPDATE

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

1. Alex213 - 17 Июля, 2015 - 12:09:55 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $usrd=mysql_query("SELECT * FROM mes_user_razd WHERE user_id_r='$user[user_id]', ser_id_u='$id_s'");
  2. if ($usrd) {mysql_query("UPDATE mes_user_razd SET razd_id_u='$rzd' WHERE user_id_r='$user[user_id]' AND ser_id_u='$id_s'");
  3. }
  4. else { mysql_query("INSERT INTO mes_user_razd(user_id_r, ser_id_u, razd_id_u) VALUES('$user[user_id]','$id_s','$rzd')");}

При выполнении данного запроса не работает UPDATE, ошибок нет, что может быть не так?
2. Tyoma5891 - 17 Июля, 2015 - 12:18:13 - перейти к сообщению
Alex213 пишет:

ошибок нет


а так?
PHP:
скопировать код в буфер обмена
  1. $usrd=mysql_query("SELECT * FROM mes_user_razd WHERE user_id_r='$user[user_id]', ser_id_u='$id_s'") or die(mysql_error());
  2. if ($usrd) {mysql_query("UPDATE mes_user_razd SET razd_id_u='$rzd' WHERE user_id_r='$user[user_id]' AND ser_id_u='$id_s'") or die(mysql_error();
  3. }
  4. else { mysql_query("INSERT INTO mes_user_razd(user_id_r, ser_id_u, razd_id_u) VALUES('$user[user_id]','$id_s','$rzd')");}
3. Alex213 - 17 Июля, 2015 - 12:33:28 - перейти к сообщению
Tyoma5891 пишет:
Alex213 пишет:

ошибок нет


а так?
PHP:
скопировать код в буфер обмена
  1. $usrd=mysql_query("SELECT * FROM mes_user_razd WHERE user_id_r='$user[user_id]', ser_id_u='$id_s'") or die(mysql_error());
  2. if ($usrd) {mysql_query("UPDATE mes_user_razd SET razd_id_u='$rzd' WHERE user_id_r='$user[user_id]' AND ser_id_u='$id_s'") or die(mysql_error();
  3. }
  4. else { mysql_query("INSERT INTO mes_user_razd(user_id_r, ser_id_u, razd_id_u) VALUES('$user[user_id]','$id_s','$rzd')");}



You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' ser_id_u='2'' at line 1
4. Tyoma5891 - 17 Июля, 2015 - 12:38:03 - перейти к сообщению
сделайте так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $user_id_r = $user['user_id'];
  3. $usrd=mysql_query("SELECT * FROM mes_user_razd WHERE user_id_r='$user_id_r', ser_id_u='$id_s'") or die(mysql_error());
  4. if ($usrd) {mysql_query("UPDATE mes_user_razd SET razd_id_u='$rzd' WHERE user_id_r='$user[user_id]' AND ser_id_u='$id_s'") or die(mysql_error();
  5. }
  6. else { mysql_query("INSERT INTO mes_user_razd(user_id_r, ser_id_u, razd_id_u) VALUES('$user[user_id]','$id_s','$rzd')");}
5. Sail - 17 Июля, 2015 - 12:42:54 - перейти к сообщению
Alex213, для чего у Вас в 'where definitions' первого запроса запятая?
Индекс массива тоже в кавычки взять не помешало-бы... ("...='{$user['user_id']}'")
6. Alex213 - 17 Июля, 2015 - 13:18:43 - перейти к сообщению
Tyoma5891 пишет:
сделайте так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $user_id_r = $user['user_id'];
  3. $usrd=mysql_query("SELECT * FROM mes_user_razd WHERE user_id_r='$user_id_r', ser_id_u='$id_s'") or die(mysql_error());
  4. if ($usrd) {mysql_query("UPDATE mes_user_razd SET razd_id_u='$rzd' WHERE user_id_r='$user[user_id]' AND ser_id_u='$id_s'") or die(mysql_error();
  5. }
  6. else { mysql_query("INSERT INTO mes_user_razd(user_id_r, ser_id_u, razd_id_u) VALUES('$user[user_id]','$id_s','$rzd')");}


Не не получается, после WHERE между переменными поставил AND, теперь UNION работаетб а INSERT INTO перестал
7. Tyoma5891 - 17 Июля, 2015 - 13:44:30 - перейти к сообщению
так сделайте:
CODE (SQL):
скопировать код в буфер обмена
  1.  mysql_query("INSERT INTO mes_user_razd(user_id_r, ser_id_u, razd_id_u) VALUES('$user_id_r','$id_s','$rzd')")
8. Alex213 - 17 Июля, 2015 - 13:54:38 - перейти к сообщению
Tyoma5891 пишет:
так сделайте:
CODE (SQL):
скопировать код в буфер обмена
  1.  mysql_query("INSERT INTO mes_user_razd(user_id_r, ser_id_u, razd_id_u) VALUES('$user_id_r','$id_s','$rzd')")


все равно не помогает
9. Tyoma5891 - 17 Июля, 2015 - 14:04:01 - перейти к сообщению
что сейчас напишет:
PHP:
скопировать код в буфер обмена
  1.  mysql_query("INSERT INTO mes_user_razd(user_id_r, ser_id_u, razd_id_u) VALUES('$user_id_r','$id_s','$rzd')")or die(mysql_error());
10. Sail - 17 Июля, 2015 - 14:14:09 - перейти к сообщению
Alex213, намекну, что в случае отсутствия в таблице mes_user_razd записей, удовлетворяющих условию выборки, Ваш первый запрос так-же вернёт не FALSE, как и в случае наличия таковых...
11. Tyoma5891 - 17 Июля, 2015 - 14:35:43 - перейти к сообщению
Да кстати правду говорит Sail, так лучше не проверять, надежнее через
12. Alex213 - 17 Июля, 2015 - 14:50:32 - перейти к сообщению
ООО, спасибо вам за помощь, получилось)))

 

Powered by ExBB FM 1.0 RC1