Задать вопрос
@Bazdyrev_Levan
Programmer PHP, JS

$_FILES['image']['name'] есть в массиве но не сохраняет в БД. В чём причина?

if($_FILES["image"]["name"] != ""){
                $image = $this->image_resize($_FILES["image"]["tmp_name"], 150, $this->ImagePath, $this->ImageLargePath);
                $image2 = $this->image_resize_big($image, $_FILES["image"]["tmp_name"], 800, $this->ImageLargePath);
            }
            else $image=$_POST["oldimg"];

$Query = "UPDATE ".USERPRODUCT_TABLE." ".
                     " SET category='$category', dev='$dev', name='$name', price='$price', ".
                     " descr='$desc', fulldesc='$AllDesc', instok='$instok', image='$image', position='$Position', ".
                     " top='$Top2', title='$Title', keywords='$Keywords', description='$Description', art='".$Art."' ".
                     " WHERE shop = ".$this->ShopID." AND id = $ProdID";
              mysql_query($Query) or die(mysql_error());

Причина в том что в массиве $_FILES['image'] имеется элемент ['name'] который определяет имя оригинального файла.
Но при нажатии на кнопку, файл не переноситься в папку и не записывается его имя БД.
При var_dump($image) он возвращает NULL
При var_dump($_FILES['image']) он возвращает массив со всеми элементами что надо.
  • Вопрос задан
  • 2413 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Почему он не записывается в БД можно только гадать.
Можно перед mysql_query написать die($Query); и посмотреть что там собственно подставляется в запрос.
Не лишне посмотреть лог ошибок php самого сервера.

Но скорее всего проблема в функциях image_resize / image_resize_big
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы