将2个不同的变量转换并连接成一个字符串

时间:2015-08-12 19:56:35

标签: php mysql concatenation

编写一个文件上传页面,用户上传一个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')“;

我试图在查询外部内爆,使用'。='追加。此查询仅在文件上载到服务器后运行。

2 个答案:

答案 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'];

然后在插入查询中使用它..