Получить идентификатор добавленного файла

1

У меня есть следующая таблица под названием filescontent

ID  |  version  |  fileContent  | ownerID

Мне нужно получить идентификатор файла, который добавлен пользователем с запросом POST, а затем я должен его обработать. Я использую PHP и MySQLi.

  • 0
    Конечно, мы можем! Где код, который вы пробовали до сих пор?
  • 0
    ты можешь вставить свой код?
Показать ещё 1 комментарий
Теги:
mysqli
post

2 ответа

0

if ($ _ POST) {

$ name = mysqli_real_escape_string ($ connection, $ _FILES ['uploadFile'] ['name']);

    $data = mysqli_real_escape_string($connection, file_get_contents($_FILES ['uploadFile']['tmp_name']));

    $select_version = mysqli_query($connection, "SELECT version FROM filescontent ORDER BY fileID DESC LIMIT 1");
    $fetch_version = mysqli_fetch_assoc($select_version);
    $increment_version = $fetch_version['version'] + 1;
    echo '<br>'.$increment_version .' версия';

    $select_fileID = mysqli_query($connection, "SELECT fileID FROM filescontent ORDER BY fileID DESC LIMIT 1");
    $fetch_fileID = mysqli_fetch_assoc($select_fileID);
    $increment_fileID = $fetch_fileID["fileID"] + 1;
    echo '<br>'. $increment_fileID.'ID';

    $selectName = mysqli_query($connection, "SELECT fileName FROM files WHERE fileName='$name'");
    $fetchName = mysqli_fetch_assoc($selectName);
    $fetchName = $fetchName['fileName'];

    $selectIDname= "SELECT fileID FROM files WHERE fileName = '$name'";
    $selectIDnameQuery = mysqli_query($connection, $selectIDname);
    $row = mysqli_fetch_array($selectIDnameQuery);
    $selectIDname = $row['fileID'];
    echo '<br><pre>'.print_r($row, true).'</pre>';

    $addedFileID = '';
    $selectAddedFile = "SELECT fileID FROM filescontent WHERE fileID='$addedFileID'";

    $a = mysqli_error($connection);
    echo '<br>'.$a.'<br>';  

    if(!strcmp($name, $fetchName)){
        echo 'The file exists';
        $query1 = mysqli_query($connection, "INSERT INTO filescontent (fileID, version, fileContent, author) VALUES ('$selectIDname', '$increment_version', '$data', 2)");
    }
    else{
        echo 'The file does not exist'; 
        $query2= mysqli_query($connection, "INSERT INTO filescontent (fileID, version, fileContent, author) VALUES ('$increment_fileID', 1, '$data', 2)");
        $query3 = mysqli_query($connection, "INSERT INTO files (fileID, fileName, ownerID) VALUES ('$increment_fileID', '$name', 2)");
    }

    $a = mysqli_error($connection);
    echo '<br>'.$a.'<br>';  
}
0

mysqli_insert_id() должен делать трюк.

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

http://php.net/manual/en/mysqli.insert-id.php

Ещё вопросы

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