如何使用PHP将文件路径插入MySQL表?

时间:2011-02-26 21:44:26

标签: php mysql file path insert

我正在尝试使用PHP 5将文件路径插入到空的MySQL表中,但是删除了斜杠和其他字符,因此在从表中调用它时我无法使用该字符串。我可以使用什么功能来保存文件路径而不会丢失字符?

$rawpath    = "F:\Business\test.htm";
$url        = "Business";

$query      = "INSERT IGNORE INTO `sites` (`url`,`base`)".
              "VALUES ('$rawpath','$url');";
echo $query;

输出:INSERT IGNORE INTO sitesurlbase)VALUES('F:\ Business \ test.htm','Business');

$query      = "SELECT * FROM `sites` WHERE `base`='Business';";
$row        = mysql_query($query);
$url        = mysql_result($row,0,"url");

echo $url;

输出:F:Businesstest.htm

3 个答案:

答案 0 :(得分:4)

你的问题是反斜杠\,它经常被用来逃避某些字符。您需要转义此反斜杠(使用另一个反斜杠),以使它们出现。因此,如果您使用双引号,请写\\而不是\,或使用addslashes($url)

如果你只使用单引号,我不太确定你是否需要逃脱它们。

答案 1 :(得分:2)

你需要逃避反斜杠。试试这个

$rawpath    = "F:\\Business\\test.htm";

希望这有帮助。

答案 2 :(得分:1)

您可以在insert语句之前执行:quotemeta($rawpath)。之后,所有反斜杠都将被正确转义。