题
我使用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()
禁用它们。
不隶属于 StackOverflow