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

convert and concat 2 dissimilar variables into one string

正在编写一个文件上传页面,用户可以在其中上传一个 zip 文件,它可以流畅地运行,但现在我需要将该信息添加到数据库中,并且我在必须显示文件名的方式上遇到了问题。即:项目编号连字符上传的文件名连字符用户名LIKE“1234-fileName-UserName”

查询:

$query= "INSERT INTO cases (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')";

我试图在查询之外进行内爆,使用“.=”进行追加。此查询仅在文件上传到服务器后运行。

我认为您混淆了如何 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 注入攻击。

在查询之外构建文件名..

$filename = $case_id.'-'.$_FILES['the_file']['name'].'-'$_SESSION['last_name'];

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