[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с SQL запросом
Wahtel
Всем привет, нужна помощь более опытных кодеров, у меня есть страница с функциями, там есть функция на редактирование товаров, выглядит она так:

function editCatalog($author, $title, $pubyear, $price, $id)
{
$sql = "UPDATE `catalog`
SET
author = '{$author}',
title = '{$title}',
pubyear = {$pubyear},
price = {$price},
WHERE id = {$id}";
mysql_query($sql) or die(mysql_error());
}

есть страница, где я фильтрую данные, и потом запускаю эту функцию:

// запускаем сессию
session_start();

// подключаем библиотеки
require "eshop_db.inc.php";
require "eshop_lib.inc.php";

// фильтруем данные
$author = clearData($_POST['author']);
$title = clearData($_POST['title']);
$pubyear = clearData($_POST['pubyear'], "i");
$price = clearData($_POST['price'], "i");
$id = clearData($_GET['id'], "i");

editCatalog($author, $title, $pubyear, $price, $id);


header("Lcation: catalog.php");

при нажатии на кнопку редактирования, мне выдает такие вот нотисы:

Notice: Undefined index: author in C:\Users\Public\Apache Software Foundation\Apache2.2\htdocs\eshop\update_catalog.php on line 11 Notice: Undefined index: title in C:\Users\Public\Apache Software Foundation\Apache2.2\htdocs\eshop\update_catalog.php on line 12 Notice: Undefined index: pubyear in C:\Users\Public\Apache Software Foundation\Apache2.2\htdocs\eshop\update_catalog.php on line 13 Notice: Undefined index: price in C:\Users\Public\Apache Software Foundation\Apache2.2\htdocs\eshop\update_catalog.php on line 14 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 'WHERE id = 10' at line 7

ломаю голову, пробовал по разному писать этот запрос, но не получается это пофиксить, если мне кто то тут сможет подсказать, как это можно исправить, я буду очень признателен)
Arh
А в функцию точно попадают данные?

попробуйте функцию так оформить

function editCatalog($author = '', $title = '', $pubyear = '', $price = '', $id = '') {

}


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
SerginhoLD
запятая перед WHERE не нужна

_____________
"internet explorer всех правильней отображает страницы" ©
Wahtel
Arh
К сожалению, это тоже не работает, я совсем не могу понять, почему с добавлением и удалением все ок, а с редактированием такая лажа.
Wahtel
SerginhoLD
Убрал)
sergeiss
Wahtel, на будущее совет: в случае таких проблем, выводи сформированный запрос и пробуй его запустить напрямую, где-нибудь в ПХПМайАдмин. И на форуме лучше показывать готовый запрос.
А зачастую и вопроса не будет, сам увидишь все проблемы smile.gif Например, что-то не то было передано в функцию - ты в распечатке запроса это увидишь и поймешь. Или лишние символы вроде запятой, тоже лучше видны в уже готовом запросе. А также отсутствующие кавычки хорошо видны и другие проблемы.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Guest
В тексте программы подозрительная мешанина из $_POST и $_GET, опечатка в
header("Lcation ...

что-то здесь не так.
S.Chushkin
Ну вы даёте! В списке ошибок ведь всё указано, даже там, где надо смотреть.
- " Undefined index: author" и т.п. говорит о том, что в массиве нет индекса (см. $_POST['author'] etc)
- "...the right syntax to use near 'WHERE..." - ошибка синтаксиса перед WHERE, в данном случае лишняя запятая.

Ну и конечно запрос - похож на большую дыру. Хотя ... не ведомо что делает clearData(), может всё правильно. :/

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.