将文件名上传到mysql数据库

时间:2013-08-13 13:33:04

标签: php mysql sql upload

我正在尝试上传通过上一页上带有“浏览”按钮的表单选择的文件名。执行此操作的代码:

$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']默认使用它是否为“或”。

提前致谢

4 个答案:

答案 0 :(得分:0)

你需要逃避你的绳索。

$filename = mysqli_real_escape_string($con, $filename);

答案 1 :(得分:0)

确保在SQL语句中转义您正在使用的任何变量。供参考:

http://php.net/manual/en/mysqli.real-escape-string.php

答案 2 :(得分:0)

引号的

用例如

addslashes($str);

答案 3 :(得分:0)

首先用另一个字符替换撇号(一般不使用)来自请求的文件名。 然后插入MySQL表。