需要帮助:我正在使用一个简单的PHP代码将照片上传到远程数据库中。但是每次,一张照片的两个副本都保存在数据库中。有人能告诉我我做错了什么吗?PHP代码:
<?PHP
$uploadDir = 'image_folder/';
$uploadDir = 'image_folder/';
if(isset($_POST['Submit'])) //info saving in the variables
{
$fileName = $_FILES['Photo']['name'];
$tmpName = $_FILES['Photo']['tmp_name'];
$fileSize = $_FILES['Photo']['size'];
$fileType = $_FILES['Photo']['type'];
$filePath = $uploadDir . $fileName;
$result = move_uploaded_file($tmpName, $filePath); //moving the photo in the destination
if (!$result) {
echo "Error uploading file";
exit;
}
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
$filePath = addslashes($filePath);
}
echo "".$filePath."";
$query = "INSERT INTO picture (image) VALUES ('$filePath')";
if (mysql_query($query))
{echo "Inserted";}
mysql_query($query) or die('Error loading file!');
}?>
if (mysql_query($query))
{echo "Inserted";}
mysql_query($query) or die('Error loading file!');
您正在调用mysql_query($query)
两次
您要执行mysql_query($query)
两次,第一次在IF{}
中,紧接着执行。:D
ps。mysql_*
函数不复杂,请使用PDO
或mysqli
您正在使用mysql_query
两次。试试这个:
if (mysql_query($query)) {
echo "Inserted";
} else {
die('Error loading file!');
}
您正在执行两次mysql_query。将您的if修改为:
if (mysql_query($query)) {
echo "Inserted";
} else {
die('Error loading file!')
}
并且,删除以下行:
mysql_query($query) or die('Error loading file!');
注意:请确保已阅读中的警告框http://in2.php.net/mysql_query.mysql*函数已被弃用。