본문 바로가기
MySql

MySQL 교리-준비된 문장 만이 아니라 실제 SQL을 어떻게 인쇄 할 것인가?

by 베이스 공부 2020. 12. 14.
반응형

우리는 PHP ORM 인 Doctrine을 사용하고 있습니다. 다음과 같은 쿼리를 생성하고 있습니다.

$q = Doctrine_Query::create()->select('id')->from('MyTable');

그런 다음 함수에서 다음과 같이 다양한 where 절과 적절한 것을 추가합니다.

$q->where('normalisedname = ? OR name = ?', array($string, $originalString));

나중에 쿼리 객체를 execute () -ing하기 전에이를 검사하기 위해 원시 SQL을 인쇄하고 다음을 수행합니다.

$q->getSQLQuery();

그러나 전체 쿼리가 아닌 준비된 문만 인쇄합니다. MySQL로 보내는 내용을보고 싶지만 대신 ? 를 포함하여 준비된 문을 인쇄합니다. '전체'쿼리를 볼 수있는 방법이 있습니까?

 

해결 방법

 

Doctrine은 "실제 SQL 쿼리"를 데이터베이스 서버에 보내는 것이 아닙니다. 실제로 준비된 명령문을 사용하고 있습니다.

이것은 PHP 측에 "실제"SQL 쿼리가 없다는 것을 의미합니다. 따라서 Doctrine은이를 표시 할 수 없습니다.

 

참조 페이지 https://stackoverflow.com/questions/2095394

 

 

반응형

댓글