2014-11-21 2 views
0

안녕하세요, 나는 어디 까지나 볼 수있는 유일한 시간, 대부분의 경우에 잘 작동하는 MS Access 데이터베이스에 일부 데이터를 삽입하는 데 PHP를 사용하고 있습니다. 필드,이 경우 그 주소, 즉 세인트 존스로드. 어포 스트로피 삽입 문제가 발생

내가 사용하고있는 쿼리 문입니다 :

$sql = "insert into tempaddress (`id`, `StreetAddress`, `Place`, `PostCode`) values ('".$item["Id"]."', '".$item["StreetAddress"]."', '".$item["Place"]."','$SearchTerm')"; CustomQuery($sql); 

그리고 이것은 내가 http://prntscr.com/58jncv

무엇입니까 오류 나는 단지 인 '문자열 내의 텍스트가 될 수 꽤 확신입니다 엉망으로 만들면 어떻게 바꿀 수 있니?

+3

http://bobby-tables.com/ – DoctorMick

답변

0

아포스트로피는 SQL 문자열을 끊습니다. 따라서 SQL 문자열에서 각 아포스트로피 앞에 슬래시를 수동으로 추가하거나 에 내장 된 PHP 함수를 사용해야합니다.

예 :

$sql = "INSERT INTO myTable (value) VALUES ('Text that shouldn't break')"; 

$sql = addslashes($sql); // outputs "INSERT INTO myTable (value) VALUES ('Text that shouldn\\'t break')" 

출처 : 당신은 PHP 변수 $ SEARCHTERM에 '견적'및 열 이름 앞에 백 슬래시를 사용하여 사용하는 php.net/manual/en/function.addslashes.php

-1

.

변경이 귀하의 질의 문 :

$sql = "insert into tempaddress (\`id\`, \`StreetAddress\`, \`Place\`, \`PostCode`) values ('".$item["Id"]."', '".$item["StreetAddress"]."', '".$item["Place"]."',$SearchTerm)"; CustomQuery($sql); 
+0

$ 항목 [ "StreetAddress"]을 깨고있는 검색어가 아닙니다. " – Simon79

+0

열을 벗어날 필요가 없습니다! – DarkBee

0

감사합니다, 내가 않는 str_replace (" '", "", $ 문자열)와 함께 갔다 결국;

관련 문제