【发布时间】:2011-09-28 19:03:14
【问题描述】:
我的上传脚本给我带来了一些问题,我终其一生都无法弄清楚原因。这是php代码:
mysql_connect('localhost', 'root', '');
mysql_select_db('uploads');
if (isset($_FILES["file"]["type"]) && isset($_FILES["file"]["size"])) {
if (($_FILES["file"]["type"] == "image/png")) {
if ($_FILES["file"]["size"] < 500120) {
if ($_FILES["file"]["error"] > 0) {
echo $_FILES["file"]["error"];
} else {
if (file_exists("uploads/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " already exists. ";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
$name = $_FILES["file"]["name"];
mysql_query("INSERT INTO uploads (name) VALUES ('$name')");
if (isset($_POST['title']) && isset($_POST['desc'])) {
$title = $_POST['title'];
$desc = $_POST['desc'];
mysql_query("INSERT INTO uploads (title, desc) VALUES ('$title', '$desc')");
echo $title;
echo $desc;
}
}
}
} else {
echo "File is too big";
}
} else {
echo "Wrong file type";
}
}
我知道我的文件路径和表单输入是正确的,如果我回显 $title 或 $desc 变量,它们会返回正确的值。我的问题是:由于某种原因,它不会将$title 和$desc 值输入数据库。第一个 mysql 查询工作正常,但不是第二个。知道为什么吗?
【问题讨论】:
-
您确定要将title, desc 与名称相关联吗?
-
第二个查询后面加上
echo mysql_error()会是什么输出? -
是的,现在有点搞砸了,但 $name 是实际文件名,$title 是用户定义的图像名称,$desc 是用户定义的描述。
-
首先,您确实需要在将数据发送到数据库之前对其进行清理,其次您遇到的错误是什么?
-
我没有收到错误,只是没有任何内容输入数据库