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]   

> Без описания
mr_it
Отправлено: 24 Октября, 2010 - 00:04:15
Post Id


Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июль 2010  


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




Всем доброй ночи!
CODE (htmlphp):
скопировать код в буфер обмена
  1.         $zapros=mysql_query("INSERT INTO group VALUES ('', '$new_group', '$user');")or die('<br>Ощибка MySQL:'.mysql_error());
  2.  

возвращает
CODE (htmlphp):
скопировать код в буфер обмена
  1. Ощибка MySQL: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 'group VALUES (NULL , 'Общая', 'user_02301')' at line 1
. Хотя такая же строка работает в другом скрипте, это как? А?!
 
 Top
OrmaJever Модератор
Отправлено: 24 Октября, 2010 - 00:12:50
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Есть несколько ошибок. Должно быть так

PHP:
скопировать код в буфер обмена
  1. $zapros=mysql_query("INSERT INTO group (row1, row2, row3) VALUES ('', '".$new_group."', '".$user."')")

(Добавление)
mr_it пишет:
Хотя такая же строка работает в другом скрипте, это как?


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

(Отредактировано автором: 24 Октября, 2010 - 00:13:21)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
mr_it
Отправлено: 24 Октября, 2010 - 00:29:30
Post Id


Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июль 2010  


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




Нет, условия нет. Сейчас попробую, о результатах напишу
(Добавление)
CODE (htmlphp):
скопировать код в буфер обмена
  1.       $zapros=mysql_query("INSERT INTO group (id, group, login) VALUES ('', '".$new_group."', '".$user."')")or die('<br>Ощибка MySQL:'.mysql_error());
  2.  

Выводит ошибку:
PHP:
скопировать код в буфер обмена
  1. Ощибка MySQL: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 'group (id, group, login) VALUES ('', 'Общая', 'user_02301')' at line 1

(Добавление)
вот такая
PHP:
скопировать код в буфер обмена
  1.         $zapros=mysql_query("INSERT INTO posts VALUES ('' , '$category', '$login', '$add_tema', '$add_message', '1', '' , '1', NOW(), NOW());");
  2.  
работает в другом скрипте
(Добавление)
весь
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if ( $_SESSION['AUTH']){
  3. if ($_POST['group_add']){
  4. $user=htmlspecialchars($_POST['user']);
  5. $new_group=htmlspecialchars($_POST['new_group']);
  6. if ($user!=''|$new_group!=''){
  7.                 // Подключаемся к бд
  8.         define("SERVER", $_SERVER['HTTP_HOST']); //Сервер
  9.         define("LOGIN", "mrt"); //  Логин БД
  10.         define("PASSWD", "80"); // Пароль БД  
  11.         $connect=mysql_connect(SERVER,LOGIN,PASSWD)or die('<br>Ощибка MySQL:'.mysql_error()); // коннектимся
  12.         if($connect)// если успешно
  13.                 {
  14.                 $bd=mysql_select_db('mr-it_gateway',$connect)or die('<br>Ощибка MySQL:'.mysql_error()); // Выбор БД
  15.       $zapros=mysql_query("INSERT INTO group (id, group, login) VALUES ('', '".$new_group."', '".$user."')")or die('<br>Ощибка MySQL:'.mysql_error());
  16.                                 if($zapros){
  17.                                 $_SESSION['rezults']=". Добавлена группа:$new_group";
  18.                                 }else{
  19.                                 $_SESSION['rezults']=". Ошибка добавления группы:$new_group";
  20.                                 }
  21.                 }
  22.        
  23. }
  24. }
  25. ?>

(Отредактировано автором: 24 Октября, 2010 - 00:38:44)

 
 Top
Мелкий Супермодератор
Отправлено: 24 Октября, 2010 - 00:44:35
Post Id



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


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


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




group - зарезервированное слово. Чтобы указать, что это не группировка, а имя таблицы, берите её в обратные кавычки:
PHP:
скопировать код в буфер обмена
  1. $zapros=mysql_query("INSERT INTO `group` (`id`, `group`, `login`) VALUES (0, '".$new_group."', '".$user."')")or die('<br>Ошибка MySQL:'.mysql_error());


И второе, htmlspecialchars в режиме по-умолчанию не заменяет одинарные кавычки, а именно они и используются в запросе - пройдёт SQL-инъекция. Выдайте второй параметр ENT_QUOTES. И лучше дополнительно экранируйте с помощью mysql_real_escape_string.


-----
PostgreSQL DBA
 
 Top
mr_it
Отправлено: 24 Октября, 2010 - 00:58:09
Post Id


Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июль 2010  


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




Мелкий пишет:
group - зарезервированное слово. Чтобы указать, что это не группировка, а имя таблицы, берите её в обратные кавычки:
PHP:
скопировать код в буфер обмена
  1. $zapros=mysql_query("INSERT INTO `group` (`id`, `group`, `login`) VALUES (0, '".$new_group."', '".$user."')")or die('<br>Ошибка MySQL:'.mysql_error());


И второе, htmlspecialchars в режиме по-умолчанию не заменяет одинарные кавычки, а именно они и используются в запросе - пройдёт SQL-инъекция. Выдайте второй параметр ENT_QUOTES. И лучше дополнительно экранируйте с помощью mysql_real_escape_string.

Как я Вам благодарен!!! Я уже несколько часов не мог найти решения этой проблемы! Спасибо огромное!!! Радость Радость Радость
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB