一切都在执行,但查询...我错过了什么?

时间:2013-05-29 22:34:56

标签: php mysql

这是一个从其他页面接收上传图像的文件。图像被接收并保存在服务器上(该部分正在工作),查询不是。我手动将查询键入phpMyAdmin,文件名为虚拟值,并且可以正常工作。我把那个虚拟查询放到这个代码中,它不起作用。我无法弄清楚我做错了什么。

<?php
$ds  = DIRECTORY_SEPARATOR;  
$storeFolder = 'img';   
if (!empty($_FILES)) {
    $tempFile = $_FILES['file']['tmp_name'];              
    $targetPath = $_SERVER['DOCUMENT_ROOT']. $ds. $storeFolder . $ds;  
    $targetFile =  $targetPath. $_FILES['file']['name'];  
    move_uploaded_file($tempFile,$targetFile); 
    mysql_query("INSERT INTO `photos` (photo_id, file_name) VALUES ('', '".$_FILES['file']['name']."');"); 
}
?>  

1 个答案:

答案 0 :(得分:1)

假设photo_id是自动递增的,这里有一些代码修复:

<?php
$ds  = DIRECTORY_SEPARATOR;  
$storeFolder = 'img';   
if (!empty($_FILES)) {
    $name = $_FILES['file']['name'];
    $tempFile = $_FILES['file']['tmp_name'];              
    $targetPath = $_SERVER['DOCUMENT_ROOT']. $ds. $storeFolder . $ds;  
    $targetFile =  $targetPath. $_FILES['file']['name'];  
    move_uploaded_file($tempFile,$targetFile); 
    $query = "INSERT INTO photos (photo_id, file_name) VALUES (NULL, '".$name."')"; 
    $result = mysql_query($query);
    if (!$result) die ("Database access failed: " . mysql_error());
}
?>  

这样您就可以调试代码了。 现在,如果您需要从Javascript调用中获取结果,则应使用AJAX。

点击此处:

Send a request to a php page and then get back results using ajax