【问题标题】:php file upload with mysql filename update使用mysql文件名更新的php文件上传
【发布时间】:2012-06-08 22:03:51
【问题描述】:

我正在尝试将这两个脚本(文件上传)和(mysql 更新)结合起来,以便将图像文件都上传到正确的文件夹,然后在 mysql 数据库中更新文件路径。我知道 $sql 更新查询是错误的,这就是我的麻烦所在。任何帮助都会很棒。

//db connection
require "connect.db.php";

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }

// update data in mysql database
$sql="UPDATE `characters` SET ch_image='/upload/$_FILES["file"]["name"]' WHERE ID='$id'";
$result=mysql_query($sql);

// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='test.html'>View result</a>";
touch('../file.html');
clearstatcache();
}

else {
echo "Whoops: " . mysql_error(); ;
}
mysql_close();
?>

【问题讨论】:

  • 你在哪里设置$id?你的数据库的结构是什么?您是否尝试过 echo 查询并在 phpMyAdmin 之类的工具中运行查询以查看它是否会产生错误消息,或者至少在您的 mysql_query() 之后查看 mysql_error()
  • 我知道 $sql 字符串是错误的,所以它只会作为语法错误返回

标签: php mysql upload


【解决方案1】:

$sql改成这个

$sql="UPDATE `characters` SET ch_image='/upload/" . $_FILES['file']['name'] . "' WHERE ID='$id'";

【讨论】:

  • 显然是一个错误——这绝对是朝着正确方向迈出的一步。不过,我担心还会有更多。
  • $id 丢失,会再次失败
  • $id 设置在其他地方,每个脚本都独立运行。我现在正在尝试合并它们
  • 修复后我得到以下“无效文件成功查看结果”在sql数据库中,以下内容被输入到ch_image文件“/upload/”文件未上传到文件夹
  • 在 echo "invalid file" 之后添加了die;
猜你喜欢
  • 1970-01-01
  • 2011-06-09
  • 2013-03-12
  • 2013-11-07
  • 1970-01-01
  • 2015-04-01
  • 1970-01-01
  • 2017-03-12
  • 1970-01-01
相关资源
最近更新 更多