Doctrine DBAL querybuilder 개체를 만들고 매개 변수를 설정하려고합니다. 나는 다음과 같은 오류가이 querybuilder 객체의 결과를 얻을 때 (포스트 그레스 DB, dbal 2.3.4, 교리doctrine dbal querybuilder 준비 문으로
$connection = $this->_em->getConnection();
$qb = $connection->createQueryBuilder();
$qb->select('tbl_user_contract.pkid AS pkid');
$qb->from('tbl_user_contract', 'tbl_user_contract');
$qb->join('tbl_user_contract', 'tbl_user', 'tbl_user', 'tbl_user_contract.fk_user = tbl_user.pkid');
$qb->where('tbl_user.pkid = :userid');
$qb->setParameter(':userid', 10);
를 사용하여 :
SQLSTATE[08P01]: <<Unknown error>>: 7 ERROR: bind message supplies 0 parameters,
but prepared statement "pdo_stmt_00000002" requires 1
은 내가 포스트 그레스 로그를 확인하면 , 내가 통과하는 쿼리를보고 매개 변수를 기대하는 통지하지만 전달 된 매개 변수를 가져 오지 않습니다.
나는 (준비된 문을 사용하지 않고) where 식에서 id를 설정하려고 시도했지만 하지만 저는 이것을 prepa로 작동시키고 싶습니다. 빨간색 진술.
누구든지이 문제를 어떻게 해결할 수 있는지 알고 있습니까? 사전
매개 변수에 '?'와일드 카드를 사용하지만 이름으로 설정하려고합니다. 일반적으로 * 명명 된 매개 변수 또는 서수 위치 매개 변수 중 하나를 사용해야하며 둘을 섞어서는 안됩니다. 아마도 여러분은 '$ qb-> setParameter (1, 10);'같은 것을 시도 할 필요가있을 것입니다. (0 또는 1에서 계산할 수 있음). 나는 Doctrine이나 PHP를 사용하지 않기 때문에 이것은 테스트되지 않았다. –
실례합니다. stackoverflow 코드의 일부를 복사하여 붙여 넣을 때 문제가 발생했습니다. 이름이 지정된 두 매개 변수로 변경되었지만 문제는 여전히 발생합니다. – user2710303