На некоторых компах не срабатывает UPDATE?

  • Автор темы AleksanderJ
  • Дата начала

AleksanderJ

Guest
На некоторых компах не срабатывает UPDATE?

Всем привет,
Столкнулся со следующей проблемой: Выложил готовую страницу на сервер, через которую выполняется администрирование, отладил и проверил ее с нескольких других компов (правда на одном предприятии). Клиенту при попытке сохранения изменений при отработке запроса UPDATE выдает "Query update product failed" при этом запрос на добавление новой записи отрабатывается без ошибок. В чем может быть причина?

Спасибо
 

matross

Новичок
Re: На некоторых компах не срабатывает UPDATE?

Учись задавать вопросы...
 

kolobok

fPanel Billing Coder
мы не телепаты .... кусок кода с обновлением продукта в студию ..
 

AleksanderJ

Guest
Автор оригинала: kolobok
мы не телепаты .... кусок кода с обновлением продукта в студию ..
Через форму передаются значения и происходит их считывание:

PHP:
if (isset($_POST['save']))
       {
          $v['productID'] = $_POST['save'];
          $v['categoryID'] = $_POST['parent'];
          $v['product_code'] = $_POST['product_code'];
          $v['name'] = $_POST['name'];
          $v['brand'] = $_POST['brand'];
          $v['price'] = $_POST['price'];
          $v['description'] = $_POST['description'];
          $v['note'] = $_POST['note'];
          
          $v['picture'] =  basename($_FILES['picture']['name']);
          $v['tmppicture'] = $_FILES['picture']['tmp_name'];
          

          update_product($v);
          
          
          $body = "".$_POST['picture'];
          //$script = "";
          $script = "<script>window.opener.location.reload();window.close();</script>";
       }
и сам код функции:
PHP:
function update_product($v)
{
	$id = $v['productID'];
	$query = "SELECT * FROM rp_products WHERE productID=$id";
    $result = mysql_query($query) or die ("Product not found");
    $line = mysql_fetch_array($result);
    if($v['picture'] == "")
    	$picture_name = $line['picture'];
    else
    {
        if ($v['picture'] == "no_image.jpg")
        {
          $picture_name = "no_image.jpg";
          if ($line['picture'] != "no_image.jpg" )
             unlink(".././goods_pictures/".$line['picture']);
        }
        else
        {
        	$rr = rand() % 1000;
    		  $picture_name = $rr."_".($v['picture']);
		      $r = move_uploaded_file($v['tmppicture'], ".././goods_pictures/".$picture_name);
            unlink(".././goods_pictures/".$line['picture']);
        }
    }

    //&#206;&#239;&#240;&#229;&#228;&#229;&#235;&#229;&#237;&#232;&#229; &#239;&#229;&#240;&#229;&#236;&#229;&#237;&#237;&#251;&#245; &#228;&#235;&#255; &#231;&#224;&#239;&#240;&#238;&#241;&#224; &#237;&#224; &#238;&#225;&#237;&#238;&#226;&#235;&#229;&#237;&#232;&#229;
    $query = "UPDATE rp_products SET name = \"".$v['name']."\",
    								 product_code = \"".$v['product_code']."\",
                                     brand = \"".$v['brand']."\",
                                     price = \"".$v['price']."\",
                                     categoryID = ".$v['categoryID'].",
                                     description = \"".$v['description']."\",
                                     note = \"".$v['note']."\",
                                     picture = \"".$picture_name."\" WHERE
                                     rp_products.productID = $id;";
	$result = mysql_query($query) or die ("Query update product failed");
}
А суть вопроса то была в том, что так как PHP обрабатывается на сервере и нет ограничений на доступ к дирректории с картинками, то при срабатывании кода на одном компьютере он вроде как должен срабатывать и других. Как я говороил ранее запрос на добавление срабатывает, а в нем используется таже самая форма.
 

Фанат

oncle terrible
Команда форума
нет ограничений на доступ к дирректории с картинками
Вот здесь ты можешь сильно заблуждаться.

Но это не главное. Это частности.
Люди, которые впервые сталкиваются с программированием, не знают одной очеь важной вещи.
В программировании никто не ищет ошибки методом тыка.
"подскажите, в чем может быть причина?". Причина может быть ВО ВСЁМ.
И поэтому, кроме программиста, причину найти никто не в состоянии просто физически.
Это факт.
Не всем, правда, доступный.
Есть один шанс - попробуй им воспользоваться.
прочти вот этот текст PHP FAQ: Ничего не работает! Что делать???.
в нем описано, как можно ЛОКАЛИЗОВАТЬ проблему.
Выяснить - какой именно участок работает неправильно. Сузить область поисков или получить указание на конкретную ошибку.
Если у тебя это получится и не получится исправить самостоятельно - приходи.

просто же сидеть и медитировать над кодом можно хоть сто лет. И никто не будет этим заниматься
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
перед mysql_query($query) выведи на печать содержимое этого $query и выложи сюда.

-~{}~ 17.03.05 11:28:

кроме того, что выдает mysql_error()?
 
Сверху