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

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

1. startdreamer - 13 Июля, 2011 - 19:39:18 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $check = 1;
  3. $users = $member_id['name'];
  4. $asdasd = mysql_query("UPDATE 5x5tourney SET check = '$check' WHERE admin = '$users'") or die("вава");

всегда получается что запрос умирает Недовольство, огорчение
что делать? зы cms dle 9.2
2. LIME - 13 Июля, 2011 - 19:52:27 - перейти к сообщению
startdreamer а к базе коннектится?
3. Мелкий - 13 Июля, 2011 - 19:54:52 - перейти к сообщению
phpfaq.ru/debug и mysql_error в частности.
4. vlados - 13 Июля, 2011 - 20:18:24 - перейти к сообщению
Убери '' в запросе.
5. startdreamer - 14 Июля, 2011 - 18:07:00 - перейти к сообщению
vlados не помогает
попробывал сделать запрос через систему DLEвот что получилось
CODE (htmlphp):
скопировать код в буфер обмена
  1. The Error returned was:
  2. 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 'check = '1' WHERE admin = '1'' at line 1
  3.  
  4. Error Number:
  5. 1064

все другие запросы все нормально делает
6. OrmaJever - 14 Июля, 2011 - 18:10:12 - перейти к сообщению
check зарезервированое слово и должно быть в обратных кавычках `
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `5x5tourney` SET `check` = '$check' WHERE `admin` = '$users'
7. vlados - 14 Июля, 2011 - 19:06:14 - перейти к сообщению
OrmaJever я например никогда не ставлю кавычки - и все работает!
(Добавление)
Еще можно все это сделать ручками в phpmyadmin, скопировать сгенерированный SQL запрос, и переделать его уже как вам надо. Я всегда так делаю.
8. evgenijj - 14 Июля, 2011 - 23:34:36 - перейти к сообщению
Цитата:
OrmaJever я например никогда не ставлю кавычки - и все работает!

Это работает, пока не используются ключевые слова:

SELECT * FROM mytable WHERE `order` IN (1, 2, 3)
будет работать

SELECT * FROM mytable WHERE order IN (1, 2, 3)

не будет работать

потому как ORDER - ключевое слово.

Цитата:
OrmaJever я например никогда не ставлю кавычки - и все работает!

Всего лишь везение.
9. OrmaJever - 14 Июля, 2011 - 23:40:43 - перейти к сообщению
vlados пишет:
OrmaJever я например никогда не ставлю кавычки - и все работает!

Ну пусть работает, а вот когда нибудь не захочет работать запрос, потратишь пару часиков на размышление почему не работает и откажешся от этих слов.
evgenijj пишет:
Всего лишь везение.
10. evgenijj - 14 Июля, 2011 - 23:45:36 - перейти к сообщению
OrmaJever пишет:
vlados пишет:
OrmaJever я например никогда не ставлю кавычки - и все работает!

Ну пусть работает, а вот когда нибудь не захочет работать запрос, потратишь пару часиков на размышление почему не работает и откажешся от этих слов.
evgenijj пишет:
Всего лишь везение.

Я и потратил -- только не пару часов, а пару дней. Потому и выучил навсегда Улыбка И теперь, прежде чем задать имя поля таблицы БД, всегда проверяю -- не совпадает ли оно с ключевым словом.

P.S. Говорят -- учись на чужих ошибках, а у меня получается только на своих Улыбка

 

Powered by ExBB FM 1.0 RC1