2011-08-12 7 views

답변

4

작은 따옴표로 문자열을 닫으십시오 ('$companyName'). PHP가 구문 분석 오류를 표시합니다.

$companyids처럼이 따옴표를 이스케이프 처리하여 문제를 해결할 수 있지만 변수는 작은 따옴표로 묶인 문자열에 삽입되지 않습니다. 오히려 단순히 작은 따옴표를 이스케이프하는 대신 전체 문자열 주위에 따옴표를 사용해야합니다 :

$categorynameresult="SELECT DISTINCT cat_name FROM categories WHERE company = '$companyName' AND cid IN($categoryids)"; 

$categoryids 숫자 ID의 쉼표로 구분 된 목록입니다 있다고 가정합니다. 회사 이름 주위

+0

mysql_real_escape()를 호출하는 것을 잊었다 $ categoriesids' 내 쿼리 당. – meagar

+0

도움 주셔서 감사합니다. 나는 그것을 작동 시켰어. 감사합니다 – Henkka

0

작은 따옴표 구문 오류가 발생,이 시도 :

$categorynameresult='SELECT DISTINCT cat_name FROM categories WHERE company = \''.$companyName.'\' AND cid IN(\''.$categoryids.'\')'; 
+0

이것은 잘못되었습니다. $ companyName은 단일 인용 문자열 – Damp

+0

@damp로 묶여 있기 때문에이 명령문에서 평가되지 않습니다. –

1
 
$categorynameresult="SELECT DISTINCT cat_name FROM categories WHERE company = '$companyName' AND cid IN('$categoryids')"; 
0

을 난 당신이 CONCATENATE 연산자를 누락 생각 :

귀하의 질의가 ''로 묶여
'SELECT DISTINCT cat_name FROM categories WHERE company = \'' . $companyName . '\' AND cid IN(\'' . $categoryids . '\')'; 
+0

당신은 확실히 SQL 문에서 회사 이름 주위에 작은 따옴표가 필요합니다. –

+0

감사합니다. - 업데이트했습니다. –

0

반면, 이것들은 쿼리에서도 발생합니다 - 또는 적어도 그렇게하려고 시도하십시오.

게다가, 당신은`주변 시세 및 백 슬래시를 제거 @Henkka ...

관련 문제