2015-08-28 2 views
-3

имеют следующую таблицу с именем filescontentGetting идентификатор добавленного файла с PHP

ID | version | fileContent | ownerID 

Мне нужно получить идентификатор файла, который добавляется пользователем с запросом POST, а затем я должен manipulte Это. Не могли бы вы мне помочь?

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>'; 

    $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

Что именно вы пытаетесь сделать? Что не происходит прямо сейчас? – raduation

+1

Взгляните на '$ mysqli-> insert_id' ' Возвращает значение поля AUTO_INCREMENT, которое было обновлено предыдущим запросом. Возвращает ноль, если ранее не было запроса на соединение, или если запрос не обновил значение AUTO_INCREMENT. – Sherlock

+0

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

ответ

-1

Использование Ниже упоминается код, я написал для вас, и дайте мне знать, что работает для вас или нет:

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 = (isset($fetch_version['version'])?$fetch_version['version']:0) + 1; 
echo '<br>'.$increment_version .'<br>'; 

$select_fileID = mysqli_query($connection, "SELECT MAX(fileID) as fileID FROM filescontent "); 
$fetch_fileID = mysqli_fetch_assoc($select_fileID); 
$increment_fileID = (isset($fetch_fileID["fileID"])?$fetch_fileID["fileID"]:0) + 1; 
echo '<br>'. $increment_fileID.'ID'; 

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

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

if(!empty($selectIDname)){ 
    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

Почему вы отрицаете мои рейтинги? –

+0

Я не отрицаю это, я проверю, работает ли он –

+0

Вы проверили меня (-) ve перед проверкой кода. Это не прекрасный чувак, вы должны сначала проверить код, я написал его для вас –

Смежные вопросы