2010-01-13 4 views
2

파일에 대한 경로가 해당 테이블에 저장되어 있는데도 불구하고 지정된 테이블에서 아무것도 반환하지 않는이 SELECT 쿼리가 있습니다.Mysql의 WHERE 절에있는 파일 이름은 아무 것도 반환하지 않습니다.

SELECT * 테이블 이름 WHERE imageFile = "C : \ Documents and Settings \ Albert Bayita \ Desktop \ MovieImages \ TheLordOfTheRingsTheFellowship.jpg";

모든 조언을 주시면 감사하겠습니다.

답변

0

테이블 tableName에는 정확히 정확한 경로가없는 imageFile 행이 없습니다.

아마도 경로가 다르게 저장됩니다 (\는 \로 인용 됨)?

검색어에 입력 한 것과 정확히 동일하다는 것을 어떻게 알 수 있습니까? 데이터베이스에 전체 경로를 저장하는 이유

+0

글쎄, 목록 뷰에서 이미지를로드하는 데 사용했기 때문에 내 데이터베이스에 있다는 것을 알고 있습니다. 이중 슬래시를 사용하도록 권고 받았고 예상 한 바를 얻었습니다. 관심을 가져 주셔서 감사합니다. – Albert

0

당신은 단지 이미지 이름을

를 저장하기 위해 무엇인가를 파악해야하거나 전체 경로를 저장하기에 유지하려는 경우

시도

는 \ 백 슬래시를 두 배로

SELECT * from tableName WHERE imageFile = "C:\\Documents and Settings\\Albert Bayita\\Desktop\\MovieImages\\TheLordOfTheRingsTheFellowship.jpg"; 
+0

도움 주셔서 감사합니다. 이중 슬래시가 완벽하게 작동합니다 – Albert

+0

당신은 항상 정확한 답변을 위해 나를 투표 할 수 있습니다 – Hiyasat

4

백 슬래시 문자는 MySQL에서 문자열의 이스케이프 문자입니다. 쿼리에서 문자열 리터럴에 백 슬래시를 넣으려면 이중 백 슬래시를 사용하여 이스케이프 처리해야합니다. 또한 SQL의 문자열은 아포스트로피를 구분 기호로 사용하지만 인용 부호는 사용하지 않습니다.

SELECT * from tableName WHERE imageFile = 'C:\\Documents and Settings\\Albert Bayita\\Desktop\\MovieImages\\TheLordOfTheRingsTheFellowship.jpg'; 

최상의 옵션은 매개 변수가있는 쿼리를 대신 사용하는 것입니다.

+0

대단히 감사합니다 Guffa 당신의 도움에 대해 – Albert

관련 문제