我正在尝试上传通过上一页上带有“浏览”按钮的表单选择的文件名。执行此操作的代码:
$filename = $_FILES['userfile']['name']; // Get the name of the file (including file extension).
//inserting data order
$clip = "INSERT INTO musicdb
(clipID, clipName, genre)
VALUES
('','$filename','$name1')";
这在尝试上传没有撇号的文件时工作正常,但是当尝试上传带有撇号例如“朋友生日”的文件时,则无法上传到mysql表。我认为这与在INSERT语句中使用“和”可以互换。我不知道哪个括号$filename = $_FILES['userfile']['name']
默认使用它是否为“或”。
提前致谢
答案 0 :(得分:0)
你需要逃避你的绳索。
$filename = mysqli_real_escape_string($con, $filename);
答案 1 :(得分:0)
确保在SQL语句中转义您正在使用的任何变量。供参考:
答案 2 :(得分:0)
用例如
addslashes($str);
答案 3 :(得分:0)
首先用另一个字符替换撇号(一般不使用)来自请求的文件名。 然后插入MySQL表。