약간의 질문이 있습니다. 이해할 수 없습니다. 문제는 무엇이며 어떻게 해결할 수 있습니까? 예를 들어 #account_code#
과 같이 coldfusion 변수가 있습니다. 코드는 다음과 같습니다 : 100.001.001
(그 중 많은 코드가 있습니다.) sum(nettotal)
및이 #account_code#
에 의해 그룹화 된 cfquery와 같은 일부 변수는이 코드의 목록을 설정하기 때문에 정의됩니다. 목록, 예를 들어 <cfset code_list='100.001.001,100.001.002'>
및 쿼리 : account_code in (#code_list#)
나는 또한이 중 하나를 시도했다 account_code in ('#code_list#')
하지만 그 대신 오류를 제공합니다, 그것은 근처에 '.001'잘못된 구문을 말합니다. 늘어나는만큼 내가 어떻게 든이 점들을 대체 할 필요가 있다는 것을 이해하고 그것들없이 코드의 ID를 정의한다. 도와 주셔서 감사합니다! 나는 정말로 그것을 appretiate!그룹화 된 항목에 대한 ID 목록을 정의하십시오
1
A
답변
3
만약 당신의 질문이 정말로 SQL IN 절을 올바르게 사용하는지 이해합니다.
절에 SQL은 그 값이 숫자 경우가 인용 할 필요가 없습니다, 값 목록이 필요하지만 당신의 코드는 문자열, 각각의 값은 ColdFusion에서에서
select * from tbl
where id in ('100.001.001','100.001.002')
을 인용 할 필요가 이 작업을 수행하는 올바른 방법이 조회에서 여러 매개 변수로 목록을집니다
<cfset code_list='100.001.001,100.001.002'>
<cfquery name="qSomething" ...>
select * from tbl
where id in (
<cfqueryparam list="true"
value="#code_list#"
cfsqltype="cf_sql_varchar" />
)
</cfquery>
진정한 목록을 사용 < CFQUERYPARAM> =이며, 당신의 code_list 실제로 폼이나 URL 변수에 의해 전달되는 경우에 도움이 SQL 인젝션으로부터 당신을 보호하십시오. ttacks.
예 :) 정확하게! 그것은 도움이되었다)) 대단히 감사합니다! –