2014-05-19 2 views
2

SET을 준비된 문장으로 사용할 수 있습니까?준비된 문장에 SET

다음은 작동하지만 내가 무엇을 달성하고자하는 표시하지 않습니다

$stmt = $mysqli->prepare("SET @var = ?; 
          SELECT id... (big query that uses @var many times)"); 
$stmt->bind_param('i', $var); 

나는 또한 운없이 multi_query를 사용하는 것을 시도했다.

$stmt->bind_param('iiiiiiii', $var, $var, $var, $var, $var, $var, $var, $var); 

답변

1

가장 쉬운 방법은 쿼리 자체를 초기화하는 단지입니다 :

대안은 나쁜 보이는 다음을 작성하는 것입니다. 쿼리의 어딘가에서 다음을 수행하십시오.

select . . . 
from . . . cross join 
    (select @var = ?) vars