2011-01-15 6 views
1

검색 한 페이지가 POST를 통해 검색 한 다음 테이블에 삽입합니다. 나는 무슨 일이 있었는지 볼 수 있도록 나에게 질의를 이메일을했다 :가장 기괴한 PHP/MySQL 버그

변수 가져

내 PHP :

$searched = mysql_real_escape_string($_POST['searched']); 

쿼리를 사용하여 (나에게 이메일로 전송) :

INSERT INTO conversations (viID, moID, viTyping, moTyping, priority, status, open, mOpen, lastMsgID, searched) VALUES (435, 0, 0, 0, 0, 0, 1, 1, 0, " 
을 여기

쿼리 조립 코드입니다 : 페이지가 IE에서 실행 할 때마다

$query = "INSERT INTO conversations (viID, moID, viTyping, moTyping, priority, status, open, mOpen, lastMsgID, searched) VALUES ($userID, 0, 0, 0, 0, 0, 1, 1, 0, \"$searched\")"; 

을,이 레코드의 삽입 DB는 괜찮아. 쿼리가 정확히 동일한 경우에도 다른 브라우저는 "question8"부분을 제외합니다 (레코드를 삽입 함). 필자는 phpMyAdmin에서 쿼리를 잘라 붙여 넣을 수 있으며 잘 실행됩니다.

왜 IE에서만 작동합니까? 다른 브라우저에서 볼 수없는 특수 문자가 삽입되어 있습니까? 나는 길을 잃었다!

+0

우리는 쿼리를 어셈블하는 코드를 볼 수 있습니까? – dqhendricks

+0

브라우저는 모든 서버 측과 같이 ($ _POST 변수와 관련이없는 한) 관련이 없어야합니다. - PHP 파일에 나타나는대로 코드를 게시 할 수 있습니까? –

+1

'$ _POST'의 내용을 덤프하고 안에 무엇이 있는지 살펴 봅니다. 당신도 당신의 쿼리를 탈출했는지 확인하십시오. – BoltClock

답변

1

PHP 설정에서 "Magic Quotes"가 해제되어 있는지 확인하십시오. 사용 중지하는 방법은 here입니다.

(내게 정확히 같은 대답은 복사/붙이기 here에서).

0

아마도 검색 페이지에 사용 된 HTML 또는 자바 스크립트에 잘못된 것이 있거나 특정 브라우저 일 가능성이 있습니다.

0

이 작동하는지 알려 주시겠습니까? ($db_con은 MySQL 연결 리소스를 나타냅니다.);

$searched = mysql_real_escape_string($_POST['searched'], $db_con); 

$query = "INSERT INTO conversations (viID, moID, viTyping, moTyping, priority, status, open, mOpen, lastMsgID, searched) VALUES ('".$userID."', 0, 0, 0, 0, 0, 1, 1, 0, '".$searched."')"; 
+0

여기에 행운이 없습니다 : ( – Michael

+1

관련 코드를 모두 포함하도록 게시물을 편집 해 주실 수 있습니까? $ userID 선언을 포함 해주십시오. 감사합니다 :) –

관련 문제