корзина на PHP & MySql

Devona

Новичок
корзина на PHP & MySql

на сайте реализована корзина на пхп+мускл
работа проходит на локальной машине с использованием Денвера с дальнейшей заливкой на хостинг
корзина выглядит примерно так.
при заходже на сайт пользователю присваивается session_id
когда он нажимает на товаре "добавить" - проходит проверка. если такой айди товара с таким айди сессии уже есть в таблице - его количество увеличивается на 1. если нет - в базу пишется айди товара, айди сесии, количество=1. после окончания формировки заказа - из таблицы труться записи с айди сессии юзера.
проблема следующая.
на локалке на денвере корзина работает безукоризненно.
на хостинге выглядит так: имеем пустую таблицу текущих заказов. зашёл юзер, добавил. записали его заказ в таблицу. если он добавляет ещё один товар(другой уже) он не пишется в таблицу. наличие записи проверяется по айди товара+айди сессии. непонятна логика ошибки проверки. скрипт не находит запись с добавленным айди товара. то есть возвращает mysql_num_rows=0 но запись не происходит. так же происходит и с другими пользователями. если в этой таблице уже есть хоть одна запись - ничего больше туда не пишется.

вот сам текст функции
PHP:
function add_item($session, $id, $quantity)
        {
           global $database;
           global $id;
           global $session;

          $query = "SELECT id FROM shopping WHERE session='$session' AND product='$id'";
           $database->setQuery($query);
           $database->query();
           $num_rows = $database->getNumRows();
           $this->incart = $database->loadResult();

           $query = "SELECT quantity FROM shopping WHERE session='$session' AND product='$id'";
           $database->setQuery($query);
           $database->query();
           $this->incquan = $database->loadResult();

           // если нет товара в корзине - добавить

           if($num_rows == 0)
           {
           $query = "INSERT INTO shopping (session, product, quantity) VALUES ('$session','$id','$quantity')";
	       $database->setQuery($query);
           $database->query();
           }
           // товар есть - увеличить количество.
           else
           {
              $quantity = $quantity + $this->incquan;
              $query = "UPDATE shopping SET quantity='$quantity' WHERE session='$session' AND product='$id'";
	          $database->setQuery($query);
    	      $database->query();
    }
        }
 

Фанат

oncle terrible
Команда форума
это проблема из тех, что решаются отладкой.
давай ты займешься ей самостоятельно?
 

Devona

Новичок
Фанат
этим и занимаюсь... просто была мысль что может быть кто-то уже сталкивался с похожей проблемой и поделится опытом
 

Фанат

oncle terrible
Команда форума
НЕТ. НИКТО НЕ СТАЛКИВАЛСЯ. С ПОХОЖЕЙ.

"я написал скрипт, он не добавляет записи в бд" - с одной стороны, РАЗУМЕЕТСЯ, все с таким сталкивались.
Но, РАЗУМЕЕТСЯ, ответов вида "исправь в третьей строчек точку" быть не может! Потому что у всех скрипты разные!

Ну неужели ты не понимаешь, что скрипт не работает из-за ТВОЕЙ ошибки в ТВОЕМ скрипте?
Как у кого-то может быть похожая ошибка?
 

Devona

Новичок
Фанат
вот давай без "я умный ты тупой"
я вроде объяснил что ошибку найти проблематично так как на локальной машине всё работает без сучка без задоринки
 

Sender

Новичок
Devona
попробуй проверь структуру БД на обоих источниках, локальном и боевом
 

Фанат

oncle terrible
Команда форума
Devona
тебе никто не говорил, что ты тупой.
так что давай без истерик.

если ты не понимаешь, что значит отладка, то во-первых, не надо врать, что ты ей "занимаешься", а во-вторых, не надо рассказывать что найти ошибку "проблематично".

на хосте и отлаживай.

-~{}~ 14.05.07 15:56:

Sender
исчезни
 

satmurat

Новичок
Как поставить стиль для ссылок

Как поставить стиль для ссылок?
 
Сверху