ЗАГРУЗИТЬ ДОКУМЕНТ НА ОСНОВЕ пользователя

1

Я собрал сценарий, который позволяет пользователям загружать и просматривать документы, однако проблема заключается в том, что один пользователь загружает документ, все зарегистрированные пользователи могут видеть его. Поэтому я пытаюсь настроить загрузку документа на зарегистрированный пользователь... см. код ниже:

uploadconfig.php

<?php
include("dbconfig.php");
require("upload.php");
if(isset($_POST['btn-upload'])){
$file = $_FILES['file']['name'];
    $file_loc = $_FILES['file']['name'];
    $file_size = $_FILES['file']['size'];
    $file_type = $_FILES['file']['type'];
    $folder = "uploads/";
    move_uploaded_file($file_loc, $folder.$file);
    $sql = mysqli_query($conn, "INSERT INTO upload( file, type, size, personalid) VALUES (select personalid FROM person where personalid='$username'),('$file', '$file_type', '$file_size') ") or die (mysqli_error($conn));

    if($sql){
    header("location:upload.php?msg0=Document upload successful.");

    }

else {

    header("location:upload.php?msg1=Document upload failed.");

    }


    }

    ?>

Причина, по которой я "потребовал" файл upload.php, состоит в том, что переменная сеанса пользователя находится в этом файле, и я подумал, что, требуя этого файла, я смог бы передать эту переменную в файл uploadconfig.php. Но вместо того, чтобы вставлять данные, он выдает мне синтаксическую ошибку рядом с оператором SELECT в инструкции INSERT.

Может ли кто-нибудь сказать мне, почему эта ошибка отображается?

И если вы хотите, чтобы я загрузил любой другой файл, пожалуйста, дайте мне знать.

Благодаря,

Sohail.

  • 0
    где твое утверждение SELECT?
  • 0
    Я не вижу никаких утверждений SELECT. Какая это точная ошибка, и да, вам нужно будет показать код в upload.php
Показать ещё 1 комментарий
Теги:

2 ответа

0
Лучший ответ

Причина, по которой я получал синтаксическую ошибку, заключается в том, что я неправильно сформулировал свой SQL-запрос.. см. Ниже для изменений:

ДО:

$sql = mysqli_query($conn,"INSERT INTO upload(file, type, size, personalid) VALUES (select personalid FROM person where personalid='$username'),('$file', '$file_type', '$file_size') ") or die (mysqli_error($conn));

ПОСЛЕ:

$sql = mysqli_query($conn, "INSERT INTO upload (personalid, file, type, size) values ((select personalid from person where username='$username'), '$file', '$file_type', '$file_size')") or die (mysqli_error($conn));

К счастью, сейчас все работает.

Sohail.

0

Измените запрос на вставку следующим образом:

INSERT INTO upload( file, type, size, personalid) select '$file', '$file_type', '$file_size', personalid FROM person where personalid='$username'

Для ваших:

$sql = mysqli_query($conn, "INSERT INTO upload( file, type, size, personalid) select '$file', '$file_type', '$file_size', personalid FROM person where personalid='$username'") or die (mysqli_error($conn));
  • 0
    Это дает мне синтаксическую ошибку.
  • 0
    в чем ошибка?
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню