>  기사  >  데이터 베이스  >  준비된 문을 사용할 때 Doctrine에서 \"실제\" SQL 쿼리를 어떻게 볼 수 있습니까?

준비된 문을 사용할 때 Doctrine에서 \"실제\" SQL 쿼리를 어떻게 볼 수 있습니까?

DDD
DDD원래의
2024-10-31 03:49:30984검색

How Can I See the

Doctrine을 사용하여 숨겨진 SQL 탐색: 준비된 문의 비밀 찾기

Doctrine을 사용하여 다음과 같은 쿼리를 꼼꼼하게 작성했다고 가정합니다.

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

이제 다음과 같은 조건으로 쿼리를 미세 조정하면서

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

실행 전에 원시 SQL을 검사하고 싶습니다. 그래서 다음과 같이 호출합니다.

$q->getSQLQuery();

하지만 아쉽게도 예상했던 것과는 다릅니다. 물음표가 붙은 준비된 진술입니다. 데이터베이스로 전송될 내용을 확인하려고 합니다.

사실은 다음과 같습니다. Doctrine은 "실제" SQL을 데이터베이스 서버로 보내지 않습니다. 준비된 문, 3단계 프로세스를 사용합니다.

  • 준비를 위해 준비된 문 보내기
  • 매개변수 별도로 전달
  • 준비된 문 실행

즉, PHP 측에는 "실제" SQL 쿼리가 없으므로 Doctrine에서는 이를 표시할 수 없습니다.

위 내용은 준비된 문을 사용할 때 Doctrine에서 \"실제\" SQL 쿼리를 어떻게 볼 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.