2012-07-23 79 views
0

我在哪里把我的PHP SQL查询,插入图像信息到我的数据库? 我在回声“成功”之前尝试过;然而它没有效果。Ajax PHP上传脚本

<!-- Upload Button--> 
<div id="upload" >Upload File</div><span id="status" ></span> 
<!--List Files--> 
<ul id="files" ></ul> 

PHP处理

<?php 
$uploaddir = './uploads/'; 
$file = $uploaddir . basename($_FILES['uploadfile']['name']); 

if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 
echo "success"; 
} else { 
echo "error"; 
} 
?> 

的Javascript部分

$(function() { 
    var btnUpload = $('#upload'); 
    var status = $('#status'); 
    new AjaxUpload(btnUpload, { 
     action: 'upload-file.php', 
     //Name of the file input box 
     name: 'uploadfile', 
     onSubmit: function (file, ext) { 
      if (!(ext && /^(jpg|png|jpeg|gif)$/.test(ext))) { 
       // check for valid file extension 
       status.text('Only JPG, PNG or GIF files are allowed'); 
       return false; 
      } 
      status.text('Uploading...'); 
     }, 
     onComplete: function (file, response) { 
      //On completion clear the status 
      status.text(''); 
      //Add uploaded file to list 
      if (response === "success") { 
       $('<li></li>').appendTo('#files').html('<img src="./uploads/' + file + '" alt="" /><br />' + file).addClass('success'); 
      } else { 
       $('<li></li>').appendTo('#files').text(file).addClass('error'); 
      } 
     } 
    }); 
}); 

回答

1

查询应该是成功的回声之前正确的,所以你必须确认什么是返回到您的move_uploaded_file方法。

验证./upload/是否是正确的路径,以及您是否具有对此目录的读/写访问权限(0777)。

还要确保您连接到数据库:

<?php 

    $conn = mysql_connect("HOST","USER","PASSWORD"); 
    $db = mysql_select_db("DB_NAME"); 

    $uploaddir = './uploads/'; 
    $file = $uploaddir . basename($_FILES['uploadfile']['name']); 

    if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 
     mysql_query("INSERT INTO photos VALUES ('your_values')"); 
     echo "success"; 
    } else { 
     echo "error"; 
    } 
?> 
+0

我连接到数据库。 我想这就是你的意思: http://pastebin.com/niBAeyiW 这就是我所尝试的,它不能解决问题。 – 2012-07-23 10:52:31

+0

如果你连接到数据库,并且上传文件的路径是正确的,并且你有写访问权限,并且如果查询是正确的,那么一切都必须正常。你可以验证查询是否成功,如下所示: mysql_query(...你的查询...)或死(mysql_error()); – 2012-07-23 11:00:10

+0

它正在正确上传文件,唯一的问题是数据库插入。该查询不会生成任何输出(用mysql_error尝试),它就像它从来没有看到它 – 2012-07-23 11:02:57