2017-01-12 2 views
-2

Es kann nicht scheinen, in die Datenbank hochgeladen zu werden, was damit nicht stimmt.MySql: Wie speichert man Dateien in der Datenbank?

hier sind meine Codes

dies die Datei connectiontwo.php ist in die Datenbank

<?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); 
} 

?> 

Dies ist der Code zu verbinden, so dass sie in die Datenbank hochgeladen werden können

<?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 
} 
} 
?> 

Ihre Hilfe wird sehr geschätzt werden ... Ich bin neu zu PHP, also kam ich hierher, um um Ihre Hilfe zu bitten. Danke!

+0

Was nicht funktioniert? Fehler? Was soll passieren? Bitte geben Sie weitere Informationen. Verketten Sie auch keine SQL-Strings, verwenden Sie immer Parameter. –

+2

Speichern von Dateien in der Datenbank ist in der Regel keine gute Idee, warum verwenden Sie nicht das Dateisystem und speichern nur den Pfad in Ihrer Datenbank? –

+0

Die final_file datei_type und new_size können nicht in die Datenbank hochgeladen werden –

Antwort

0

Sie sollten überprüfen, ob die Abfrage erfolgreich war und wenn nicht, die Fehler irgendwo protokollieren/drucken.

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

Und wie Sami bereits erwähnt, sollten Sie wirklich Prepared Statements verwenden: http://php.net/manual/en/mysqli.prepare.php

Verwandte Themen