Как вставить путь к файлу в таблицу MySQL с помощью php? - PullRequest
1 голос
/ 27 февраля 2011

Я пытаюсь вставить путь к файлу в пустую таблицу MySQL с помощью PHP 5, но косые черты и другие символы удаляются, поэтому я не могу использовать строку при вызове ее из таблицы. Какую функцию я использую, чтобы сохранить путь к файлу без потери символов?

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

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

Выходы: INSERT IGNORE INTO sites (url, base) ЗНАЧЕНИЯ ('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 ]

4 голосов
/ 27 февраля 2011

Ваша проблема с обратными слешами \, которые часто используются для экранирования определенных символов. Вы должны избежать этой обратной косой черты (с другой обратной косой чертой), чтобы они появились. Поэтому, если вы используете двойные кавычки, напишите \\ вместо \ или используйте addslashes($url).

Я не совсем уверен, что вам нужно избегать их, если вы используете только одинарные кавычки.

2 голосов
/ 27 февраля 2011

Тебе нужно убежать от косой черты. Попробуйте это

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

Надеюсь, это поможет.

1 голос
/ 12 марта 2012

Вы можете просто сделать: quotemeta($rawpath) перед оператором вставки. После этого все обратные слэши будут корректно экранированы.

...