ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

sql запрос
  #1  
Старый 01.03.2010, 21:14
Аватар для barnaki
barnaki
Познающий
Регистрация: 02.11.2008
Сообщений: 87
Провел на форуме:
93223

Репутация: 14
По умолчанию sql запрос

почему может не вставлять значения эта строка или все праильно ?
$insert_query = mysql_query('INSERT INTO guestbook (message,email,name,city) VALUES ($message,$email,$name,$city);');
if(!$insert_query) {echo "немогу добавить запись в базу данных";}
 
Ответить с цитированием

  #2  
Старый 01.03.2010, 21:33
Аватар для .:[melkiy]:.
.:[melkiy]:.
Постоянный
Регистрация: 25.01.2009
Сообщений: 368
Провел на форуме:
5290740

Репутация: 912
По умолчанию

Цитата:
Сообщение от barnaki  
почему может не вставлять значения эта строка или все праильно ?
$insert_query = mysql_query('INSERT INTO guestbook (message,email,name,city) VALUES ($message,$email,$name,$city);');
if(!$insert_query) {echo "немогу добавить запись в базу данных";}
PHP код:
$insert_query mysql_query("INSERT INTO `people` (`id`,`name`,`last_name`,`age`,`sity`) VALUES ('$id','$name','$last_name','$age','$sity')");
if(!
$insert_query) {echo "немогу добавить запись в базу данных"

Последний раз редактировалось .:[melkiy]:.; 01.03.2010 в 22:06..
 
Ответить с цитированием

  #3  
Старый 01.03.2010, 21:34
Аватар для Chubakur
Chubakur
Познающий
Регистрация: 06.04.2009
Сообщений: 69
Провел на форуме:
1032476

Репутация: 39
Отправить сообщение для Chubakur с помощью ICQ
По умолчанию

Цитата:
Сообщение от barnaki  
почему может не вставлять значения эта строка или все праильно ?
$insert_query = mysql_query('INSERT INTO guestbook (message,email,name,city) VALUES ($message,$email,$name,$city);');
if(!$insert_query) {echo "немогу добавить запись в базу данных";}
имена переменных тоже должны быть в кавычках например:
$insert_query = mysql_query("INSERT INTO guestbook (message,email,name,city) VALUES (`".$message."`,"`.$email."`,`".$name."`,`".$city. "`)");
Вроде так. Честно, щас что-то не соображаю.
А вообще поставь echo и смотри как сформирован запрос.

Последний раз редактировалось Chubakur; 01.03.2010 в 21:37..
 
Ответить с цитированием

  #4  
Старый 01.03.2010, 21:45
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

; между двумя скобками, имхо, лишняя
 
Ответить с цитированием

  #5  
Старый 01.03.2010, 21:51
Аватар для b3
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


Отправить сообщение для b3 с помощью ICQ
По умолчанию

PHP код:
<?php
if(mysql_query("INSERT INTO guestbook (message,email,name,city) VALUES ('$message','$email','$name','$city');"))
echo 
"немогу добавить запись в базу данных";
?>
 
Ответить с цитированием

  #6  
Старый 02.03.2010, 00:00
Аватар для ZeroByte
ZeroByte
Новичок
Регистрация: 30.01.2009
Сообщений: 9
Провел на форуме:
66060

Репутация: 11
Отправить сообщение для ZeroByte с помощью ICQ
По умолчанию

Может быть еще ситуация, когда поле ID (оно скорее всего в этой таблице тоже есть) сделано уникальным, а auto_increment не стоит.

P.S. этот пример скорее всего не работал из-за того, что нет кавычек
 
Ответить с цитированием

  #7  
Старый 03.03.2010, 10:14
Аватар для fokinkostya
fokinkostya
Новичок
Регистрация: 28.02.2010
Сообщений: 11
Провел на форуме:
23573

Репутация: 0
Отправить сообщение для fokinkostya с помощью ICQ
По умолчанию

Потому что много ошибок.
Рекомендуется экранировать кавычками.

PHP код:
<?php
$query 
'INSERT INTO `guestbook` (`message`, `email`, `name`, `city`) VALUES ("'.$message.'", "'.$email.'", "'.$name.'", "'.$city.'")';
if (!
mysql_query($query)) {
    echo 
"не могу добавить запись в базу данных";
}
?>
Геморойно конечно ставить везде кавычки, но тогда проблем будет гораздо меньше. Экранирование ` используется только для имен таблиц, баз данных, ячеек. Двойные или одинарные кавычки используются для значений. ` - помогает избежать не желательного вызова служебных функций и т.п. Одинарные и двойные кавычки дают возможность вставки различных значений (нет пересечения с служебными функциями, при вставке значения с пробелом вставка будет происходить без ошибки и т.п.).

Опять же надо вырабатывать определенные правила для себя и определенный стиль форматирования.

Так же ошибка может происходить в случае, если в таблице есть поля, не указанные в запросе, для которых не указано значение по умолчанию.

Последний раз редактировалось fokinkostya; 03.03.2010 в 10:17..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
Внедрение Sql кода с завязанными глазами k00p3r Чужие Статьи 0 12.06.2005 20:48
SQL Injection для чайников, взлом ASP+MSSQL k00p3r Чужие Статьи 0 12.06.2005 12:42
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ