Невозможно сохранить ссылку на картинку в базе данных

Я пытаюсь загрузить свою фотографию в папку и хранилище ссылок на файлы в базу данных, хотя хранилище файлов находится в папке, но, к сожалению, не хранит ссылку в базе данных. Пожалуйста, посмотрите, где я делаю ошибку.

<?php
include('dbconnection.php');
if (count($_FILES["file"]["name"]) > 0)
{
 sleep(3);
 for($count=0; $count<count($_FILES["file"]["name"]); $count++)
{
  $file_name = $_FILES["file"]["name"][$count];

  $tmp_name = $_FILES["file"]['tmp_name'][$count];

  $file_array = explode(".", $file_name);

  $file_extension = end($file_array); 
  if (file_already_uploaded($file_name, $connect))
{   
$file_name = $file_array[0] . '-'. rand() . '.' . $file_extension;  
}  
$location = 'files/' . $file_name;
  if (move_uploaded_file($tmp_name, $location))
  {
   $stmt= $connect->prepare("INSERT INTO tbl_image (image_name) VALUES (:image_name)");
   $stmt->bindParam(':image_name', $file_name); 
   $stmt->execute();
  }
 }
}

function file_already_uploaded($file_name, $connect)
{
 $statement = $connect->prepare("SELECT image_name FROM tbl_image WHERE image_name = '".$file_name."'");
 $statement->execute();
 $number_of_rows = $statement->rowCount();
 if ($number_of_rows > 0)
 {
   return true;
 }
 else
 {
   return false;
 }
}
?>

Может быть другое поле tbl_image, для которого требуется значение, которое вы не устанавливаете. Если у вас есть phpmyadmin или аналогичный инструмент, попробуйте запустить строку SQL, которая не позволяет четко определить проблему.

Karlo Kokkak 31.03.2018 14:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
42
1

Ответы 1

сохранить имя изображения как местоположение с именем файла:

$location = 'files/' . $file_name;
  if (move_uploaded_file($tmp_name, $location))
  {
   $stmt= $connect->prepare("INSERT INTO tbl_image (image_name) VALUES (:image_name)");
   $stmt->bindParam(':image_name', $location.'/'.$file_name); 
   $stmt->execute();
  }

после вышеуказанных изменений у меня возникла следующая ошибка Uncaught Error: Невозможно передать параметр 2 по ссылке в D: \ xampp \ htdocs \ uploads \ upload.php: 22

Harun Anwar 31.03.2018 14:15

Вы можете использовать для него одну переменную, например $ filePath = $ location. '/'. $ File_name; а затем сохраните переменную $ filePath в параметре image_name

PHP Geek 31.03.2018 14:19

Я уже выполнил приведенные выше инструкции, например $ img = $ location. '/'. $ File_name; а затем передайте $ img

Harun Anwar 31.03.2018 14:22

хорошо спасибо. Пожалуйста, дайте положительный отзыв, если это сработает для вас. Благодарность

PHP Geek 31.03.2018 14:28

Вы не можете привязать параметр к строке. Функция bindParam требует, чтобы вы передали ей только переменную в контексте by reference.

Karlo Kokkak 31.03.2018 14:48

но не знаю, почему, когда я объявляю, переменная все еще не работает.

Harun Anwar 02.04.2018 09:24

Другие вопросы по теме