编写一个文件上传页面,用户上传一个zip文件,可以游戏,但现在我需要将该信息添加到数据库中,并且我必须显示文件名的方式有问题。其中:项目编号连字符上传文件名连字符用户名LIKE“1234-fileName-UserName”
查询:
$ query =“INSERT INTO case(case_id,user_id,first_name,last_name,CONCAT(first_name,last_name)AS doctor,name,description,filename,upload_date,upload_time,status)VALUES('$ new_id','$ cur_user ','$ cur_first','$ cur_last','doctor','$ case_name','',CONCAT($ case_id,$ _FILES ['the_file'] ['name'],$ _SESSION ['last_name']) AS newfilename,CURDATE(),CURTIME(),'0')“;
我试图在查询外部内爆,使用'。='追加。此查询仅在文件上载到服务器后运行。
答案 0 :(得分:1)
我认为你会混淆你如何concat()
两个mysql列,只是在PHP中连接一个字符串。
试试这个:
$query= "INSERT INTO cases (case_id, user_id, first_name, last_name, doctor, name, description, filename, upload_date, upload_time, status) VALUES ('$new_id', '$cur_user', '$cur_first', '$cur_last', '{$cur_first} {$cur_last}', '$case_name', '', '{$case_id}-{$_FILES['the_file']['name']}-{$_SESSION['last_name']}, CURDATE(), CURTIME(), '0')";
并确保您正在验证您从用户那里收到的任何字符串,以免您自己接受SQL注入攻击。
答案 1 :(得分:1)
在查询之外构建文件名..
$filename = $case_id.'-'.$_FILES['the_file']['name'].'-'$_SESSION['last_name'];
然后在插入查询中使用它..