Привет. Не понимаю в чем ошибка - php ругается, мол нарушение синтаксиса в этом запросе. PHP: mysql_query("INSERT INTO `articles` (`categoryId`,`title`,`summary`,`content`,`publicationDate`) VALUES (2,".$_POST['name_m'].",".$_POST['summary'].",".$_POST['text'].",".date('d-m-Y').")",$db)or die("Ошибка при добавлении новой статьи - ".mysql_error()); Прогнал через echo запрос - в переменные заносятся нормальные значения из формы. Напечатал $_POST - там тоже все хорошо. Но он не хочет добавлять. К примеру, я заполняю форму, а он пишет так (причем как то непонятно деля половину данных из $_POST['name_m']): Причем, если я заполняю в самом коде все данные, то запрос выполняется (на дату он нормально реагирует): PHP: mysql_query("INSERT INTO `articles` (`categoryId`,`title`,`summary`,`content`,`publicationDate`) VALUES (2,'Название статьи','Краткое описание','Полное описание',".date('d-m-Y').")",$db)or die("Ошибка при добавлении новой статьи - ".mysql_error()); В чем тут ошибка? Зарание спасибо.
@Cyrius сделай как я ему советовал, отладка https://php.ru/forum/threads/pomogite-novichku-s-sql-zaprosom.61036/#post-493529 https://php.ru/forum/threads/pomogite-novichku-s-sql-zaprosom.61036/#post-493567
не помогло выявить ошибку. на код PHP: $sql = "INSERT INTO `articles` (`categoryId`,`title`,`summary`,`content`,`publicationDate`) VALUES (2,".$_POST['name_m'].",".$_POST['summary'].",".$_POST['text'].",".date('d-m-Y').")"; mysql_query($sql,$db)or die("Ошибка при добавлении новой статьи - ".mysql_error());} реагирует точно так же... И что мне вовсе непонятно, так это то, КАК он умудряется отделить одну половину $_POST['text'] от другой и написать 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 'скрипта,04-12-2016)' когда вардампом напечатанный массив пост - array(4) { ["name_m"]=> string(16) "Название" ["summary"]=> string(6) "Без" ["text"]=> string(21) "Без скрипта" ... --- Добавлено --- я тугой поэтому не очень понял, что вы имеете ввиду)
Ой ой ой !!! Там что-то беда с кавычками по моему. Засунь все свои $_POST в обычные переменные и выдели их в с помощью ' '(одинарных кавычек) в запросе и будет тебе счастье. пример : Код (Text): $date = $_POST['date']; А в запросе: 'date'