这是一个从其他页面接收上传图像的文件。图像被接收并保存在服务器上(该部分正在工作),查询不是。我手动将查询键入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']."');");
}
?>
答案 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