|
|
|
|
|
для: Gubichev
(26.05.2010 в 17:42)
| | Вот так я думал, что беру данные, введеные в поля и заношу их в БД,
Пересмотрел код и теперь делаю иначе: заношу данные в переменные и потом использую в запросе:
$query_new_prod = "INSERT INTO `products` SET `id_product_cat`=$sel_opt,
`name_product`=$name_prod, `ccal`=$ccal,
`protein`=$protein, `carbon`=$carbon, `fat`=$fat";
|
Работает, но появилась ошибка внутренняя из-за списка. Сейчас ее решаю.
Спасибо | |
|
|
|
|
|
|
|
для: baston
(26.05.2010 в 16:57)
| | Вот здесь что-то не так:
INSERT INTO `products` SET `id_product_cat`=$_POST['cat_product'],
`name_product`=$_POST['name_product'], `ccal`=$_POST['ccal'],
`protein`=$_POST['protein'], `carbon`=$_POST['carbon'], `fat`=$_POST['fat']"
|
| |
|
|
|
|
|
|
|
для: baston
(26.05.2010 в 16:50)
| | Обнаружил, что если я заключаю в фигурные скобки post-данные, то страница отображается корректно.
Вопрос остается: в чем причина такого поведения? Это недокументированная возможность или где-то описано про нее?
Спасибо.
P.S. Страница-то отображется корректно, да при выполнении запроса (данные введены в поля) получаю ошибку:
Ошибка запроса: 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 'отварная, `ccal`=254, `protein`=26, `carbon`=0, `fa' at line 2 | |
|
|
|
|
|
|
| Есть форма с текстовыми полями, добавляющая некие продукты в базу данных. В форме присутствует кнопка "Добавить". Я пытаюсь сделать обработчик для нее и описываю такой код:
// Процедура добавления продукта в БД //
///////////////////////////////////////////////////////////
if(isset($_POST['adding'])) //если была нажата кнопка
{
$sel_opt = $_POST['cat_product']; // запоминаем выбранное из списка значение
$query_new_prod = "INSERT INTO `products` SET `id_product_cat`=$_POST['cat_product'],
`name_product`=$_POST['name_product'], `ccal`=$_POST['ccal'],
`protein`=$_POST['protein'], `carbon`=$_POST['carbon'], `fat`=$_POST['fat']"; // СТРОКА 166
$result_add_prod = mysql_query($query_new_prod);
//Проверяем успешность запроса
if(!$result_add_prod)
{
exit("Ошибка запроса: ".mysql_error());
}
else
{
echo "Данные успешно добавлены";
echo value_select_opt(); // вызываем другую функцию
}
}
|
При попытке открыть в браузере страницу, выводится сообщение об ошибке:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\calorica.ru\www\frm_add_product.php on line 166
166 строка указывает на запрос вставки данных в БД.
Там вроде бы все верно, но не понимаю, в чем еще может быть причина?
Подскажите пожалуйста. Если нужно, приведу весь код файла с формой.
P.S. Про обработку данных для исключения атак знаю (можно не тыкать меня в это носом), но не до них пока - разобраться бы со вставкой.
Спасибо. | |
|
|
|
|