2017-01-16 4 views
0

Я действительно задыхаюсь, чтобы окунуться в вопрос, который у меня есть. Я просмотрел весь интернет, но не мог найти причин, по которым у меня проблема.Загрузите файл в mysql с помощью PHP

Мой файл отправляется в файл 'uploads' на моем сервере, но детали не отправляются в mysql db. Что я делаю не так?

Index.php

<?php 
include_once 'dbconfig.php'; 
?> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<link rel="stylesheet" href="style.css" type="text/css" /> 
</head> 
<body> 
<div id="body"> 
    <form action="upload.php" method="post" enctype="multipart/form-data"> 

    <div class='container'> 
    <label for='voornaam' >Naam*: </label><br/> 
    <input type='text' name='voornaam' /> 
    </div> 
    <input type="file" name="file" /> 
    <button type="submit" name="btn-upload">upload</button> 
    </form> 
    <br /><br /> 

</div> 
</body> 
</html> 

upload.php

<?php 
include 'dbconfig.php'; 
if($_FILES["file"]["error"]>0) 
{ 
    echo "FILE ERROR"; 
    die(); 
} 
$filename = "uploads/".$_FILES["file"]["name"]; 
// move file to a folder 
if(move_uploaded_file($_FILES["file"]["tmp_name"], $filename)) 
{ 
    $sql="INSERT INTO tbl_uploads(name, file) VALUES('voornaam',$filename')"; 
    mysql_query($sql); 
    ?> 
    <script> 
    alert('successfully uploaded'); 
     window.location.href='index.php?success'; 
     </script> 
    <?php 
} 
else 
{ 
    ?> 
    <script> 
    alert('error while uploading file'); 
     window.location.href='index.php?fail'; 
     </script> 
    <?php 
} 
?> 
+1

Вы можете выливать ошибку, MySQL сообщает (предполагая, что есть один)? http://php.net/manual/en/function.mysql-error.php Редактировать: Также обратите внимание, что эти драйверы mysql пошли по пути птицы-додо: http://www.php.net /manual/en/mysqlinfo.api.choosing.php –

+0

отсутствует одиночная цитата из файла filename в sql - 'VALUES ('voornaam', $ filename ')' должно быть 'VALUES (' voornaam ',' $ filename ') '~, но лучше использовать подготовленный оператор и прекратить использование' mysql_ *', он устарел, используйте 'mysqli' или' PDO' – RamRaider

+0

@ChrisSprague, ошибок нет – WouterS

ответ

0
  • Во-первых Капля с помощью Mysql_* функции те осуждаются Используйте подготовленные заявления вместо

вот решение

загрузки .php

<?php 
include 'dbconfig.php'; 
if($_FILES["file"]["error"]>0) 
{ 
    echo "FILE ERROR"; 
    die(); 
} 
$filename = "uploads/".$_FILES["file"]["name"]; 
// move file to a folder 
if(move_uploaded_file($_FILES["file"]["tmp_name"], $filename)) 
{ 
    $sql="INSERT INTO tbl_uploads(name, file) VALUES('voornaam','$filename')"; 
    mysqli_query($db,$sql); 
    ?> 
    <script> 
     alert('successfully uploaded'); 
     window.location.href='index.php?success'; 
    </script> 
    <?php 
} 
else 
{ 
    ?> 
    <script> 
     alert('error while uploading file'); 
     window.location.href='index.php?fail'; 
    </script> 
    <?php 
} 
?> 

dbconfig.php

<?php 
//header('Content-Type: text/html; charset=ISO-8859-1'); 
define('DB_SERVER', 'localhost'); 
define('DB_USERNAME', 'root'); 
define('DB_PASSWORD', ''); 
define('DB_DATABASE', 'tbl_uploads'); 
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE); 
?> 
+0

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

+0

$ val = $ _ POST ['voornaam']; $ sql = "INSERT INTO tbl_uploads (имя, файл) VALUES ('$ val', '$ filename')"; –

0

Прежде всего, пожалуйста, прочитайте о PDO/Mysqli.

О вашей проблеме, вы должны удалить '

enter image description here

+0

Благодарим вас за ответ. Я обязательно прочитаю о PDO/MYSQLI, но я новичок, поэтому, пожалуйста, поймите. Кроме того, как мне получить текст из окна ввода «voornaam» в мой db? – WouterS

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