Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: добавление данных в таблицу mysql через php: You have an error in your SQL syntax
 
 автор: Shaggy   (14.04.2011 в 22:50)   письмо автору
838 байт
 
 

доброго всем времени!
помогите пож разобраться с такой бедой: база данных имеет 5 связанных таблиц 4 из которых редактируются полностью (можно добавить, удалить или отредактировать). последняя таблица работает только на чтение, редактировать ничего не получается.

<?php


echo "$table<br>"; echo "$kategoria<br>"; echo "$meta_d<br>"; echo "$meta_k<br>";//Эти переменные с другого файла, (сделал вывод на экран для проверки), проверка прошла
if(isset($table) && isset($kategoria) && isset($meta_d) && isset($meta_k))
{
$add1 = mysql_query ("INSERT INTO category (table,kategoria,meta_d,meta_k) VALUES ('$table','$kategoria','$meta_d','$meta_k')") or die(mysql_error());

if ($add1 == 'true') {echo "<p>Ваши данные успешно добавлены!</p>";}
else {echo "<p>Ваши данные не добавлены!</p>";}
}
else
{echo "<p>Вы внесли не всю информацию, по этому ваши данные не будут занесены в базу</p>";}
?>

выводит ошибку "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 'table,kategoria,meta_d,meta_k) VALUES ('иыи','имыав','иыипрыер','рыервптеноры')' at line 1"
Подскажите пожалуйста в чем причина!!!?

  Ответить  
 
 автор: cheops   (14.04.2011 в 23:20)   письмо автору
 
   для: Shaggy   (14.04.2011 в 22:50)
 

table является ключевым словом и должно заключаться в обратные кавычки, иначе анализатор не сможет корректно разобрать запрос (лучше для единообразия и предотвращения таких ошибок, все названия таблиц и столбцов заключать в обратные кавычки)
<?php
  
...
  
$query "INSERT INTO `category` (`table`,`kategoria`,`meta_d`,`meta_k`)".
                
" VALUES ('$table','$kategoria','$meta_d','$meta_k')";
  
$add1 mysql_query ($query) or die(mysql_error());
  ...
?>

  Ответить  
 
 автор: Shaggy   (15.04.2011 в 17:55)   письмо автору
 
   для: cheops   (14.04.2011 в 23:20)
 

Большое спасибо за подсказку, неделю наверно парился :) Заработало!!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования