2017-01-12 4 views
-2

Не может быть загружено в базу данных, что не так с этим.MySql: Как хранить файлы в базе данных?

вот мои коды

это файл connectiontwo.php для подключения к базе данных

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "uphslletreviewer"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 

?> 

это код, так что он может быть загружен в базу данных

<?php 
include_once 'connectiontwo.php'; 
if(isset($_POST['btn-upload'])) 
{  

$file = rand(1000,100000)."-".$_FILES['file']['name']; 
$file_loc = $_FILES['file']['tmp_name']; 
$file_size = $_FILES['file']['size']; 
$file_type = $_FILES['file']['type']; 
$folder="uploads/"; 

// new file size in KB 
$new_size = $file_size/1024; 
// new file size in KB 

// make file name in lower case 
$new_file_name = strtolower($file); 
// make file name in lower case 

$final_file=str_replace(' ','-',$new_file_name); 

if(move_uploaded_file($file_loc,$folder.$final_file)) 
{ 
$sql="INSERT INTO module_let(module_desc,type,size)  VALUES('$final_file','$file_type','$new_size')"; 
$conn->query($sql); 
?> 
<script> 
    alert('successfully uploaded'); 
    window.location.href='indexsample.php?success'; 
    </script> 
<?php 
} 
else 
{ 
?> 
<script> 
alert('error while uploading file'); 
    window.location.href='indexsample.php?fail'; 
    </script> 
<?php 
} 
} 
?> 

Ваша помощь будет очень признательна ... Im new to php, поэтому я пришел сюда, чтобы попросить о вашей помощи. Спасибо!

+0

Что не работает? Ошибки? Что должно произойти? Пожалуйста, предоставьте дополнительную информацию. Также не комкатируйте строки SQL, всегда используйте параметры. –

+2

Сохранение файлов в базе данных обычно не является хорошей идеей, почему вы не используете файловую систему и не сохраняете только путь в своей базе данных? –

+0

final_file file_type и new_size не могут быть загружены в базу данных –

ответ

0

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

if($conn->query($sql) === TRUE) { 
    // successful 
} else { 
    // Errorhandling 
    // for finding the error a simple 
    echo $conn->errno.": ".$conn->error 
} 

И как Сами уже упоминалось, вы действительно должны использовать подготовленные заявления: http://php.net/manual/en/mysqli.prepare.php

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