2011-02-26 4 views
1

PHP 5로 빈 MySQL 테이블에 파일 경로를 삽입하려하지만 테이블에서 호출 할 때 문자열을 사용할 수 없기 때문에 슬래시와 다른 문자가 제거됩니다. 문자 손실없이 파일 경로를 보존하기 위해 사용하는 기능은 무엇입니까?PHP를 사용하여 MySQL 테이블에 파일 경로를 삽입하는 방법은 무엇입니까?

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

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

출력 : INSERT는 INTO sites (url, base) VALUES ('F : \ 사업 \의 test.htm을', '비즈니스')를 무시;

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

echo $url; 

출력 : F : Businesstest.htm

답변

4

문제는 백 슬래시 \이며 특정 문자를 이스케이프 처리하는 데 자주 사용됩니다. 이 백 슬래시 (다른 백 슬래시)를 이스케이프 처리하여 표시되도록해야합니다. 따라서 큰 따옴표를 사용하는 경우 \ 대신 \\을 쓰거나 addslashes($url)을 사용하십시오.

작은 따옴표 만 사용하면 탈출 할 필요가 있는지 잘 모르겠습니다.

+0

완벽! addslashes ($ url)은 좋은 제안이었습니다. 카를로스 고마워. – Chenelle

+0

@Carlos Campderros 예, 그는 작은 따옴표를 사용하더라도 도망쳐 야합니다. –

2

당신은 당신의 백 슬래시를 이스케이프해야합니다. 시도해보십시오

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

희망이 있습니다.

1

삽입 문 앞에 quotemeta($rawpath)을 입력하면됩니다. 그 후에 모든 백 슬래시가 올바르게 이스케이프 처리됩니다.

관련 문제