我使用uploadify脚本上传文件,我的学校项目。

//die($_SESSION['ID'].'.....'.$_SESSION['level']);

if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
    $filename = substr(md5(time()), 0, 8)."-".$_FILES['Filedata']['name'];
    $targetFile =  str_replace('//','/',$targetPath) . $filename;
    $time = time();
    $ID = $_SESSION['ID'];

    $sql = mysql_query("INSERT INTO files VALUES(NULL, '$ID', '$targetFile', '$time')");

    move_uploaded_file($tempFile,$targetFile);
    echo "1";
}

在顶部$ _SESSION [“身份证”]工作,但是当我$ SQL中进入,将其返回为0。任何想法,为什么?我已经重新检查了一切。

混淆。

感谢您

有帮助吗?

解决方案

看来SESSION不uploadify很好地工作,我scriptData解决它uploadify。

感谢您对所有的答案。

其他提示

必须是你的MySQL列的类型。

要确保你使用的是varchar / text因为'$ID'string:如果你的类型是int(或类似),那么你将有0插入

两件事情错在这里。你应该先明确命名您的域在$ SQL:

$sql = 'insert into tablename (fileid,filename,d_uploaded) values ('.$ID.', \''.$targetFile.'\', '.$time.');';

大多数ID字段将不VARCHAR它们将INT。所有VARCHAR是一个文本字段和所有INT是数字。你不要逃避你的INT字段,但你需要逃避你VARCHAR。

也不要插入NULL字段,以获取自动增量字段。通过执行SQL我有你上面的方式获得的能够唯一代码插入的是SQL领域,并在表中的字段的其余部分将插入默认值的好处。

尝试使用INSERT INTO files SET field=value, field=value, ..和使用mysql_real_escape_string()记得清理用户输入(如$ _REQUEST)(如果你启用了魔术的报价,如果你决定使用mysql_real_escape_string()禁用它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top