데이터베이스에서 준비된 쿼리를 볼 수있는 방법이 있습니까? [복제하다

StackOverflow https://stackoverflow.com/questions/305179

  •  08-07-2019
  •  | 
  •  

문제

가능한 복제 :
PDO 준비된 진술

PHP에서 MySQLI 확장을 사용하고 있는데 궁금합니다. 서버에서 실행될 준비된 쿼리를 볼 수있는 방법이있을 수 있습니다. 예를 들어 쿼리는 다음과 같습니다.

select * from table1 where id = ? and name = ?

그러나 다음과 같이 값이 채워진 후에 쿼리를보고 싶습니다.

select * from table1 where id = 20 and name = "John"
도움이 되었습니까?

해결책

복제 PDO 준비된 진술

짧은 대답 : 아니요. 준비된 쿼리는 기대하는 쿼리로 변환되지 않습니다. 데이터베이스 서버에 의해 직접 실행됩니다. MySQL의 쿼리 로그 또는 PDO의 문서화되지 않은 기능을 사용할 수 있습니다. debugDumpParams, 그러나 둘 다 근사치 일뿐입니다.

다른 팁

켜다 MySQL 쿼리 로깅 검토 할 수 있도록 모든 쿼리를 텍스트 파일에 로그인합니다.

어디서 보이니? 코드가 쿼리가 있고 준비된 매개 변수가있는 경우 별도로 로그인하거나 원래 쿼리 문자열로 교체하십시오. 바인딩이 실패하면 오류가 발생할 수 있습니다. 그렇지 않으면 지정대로 동일한 값이 "채워질 것"이 예상됩니다.

대부분의 시간은 내가 MySQL Quires를 디버깅하는 방식입니다.

$ q = "select * from where id =". $ id. "및 name =". $ name; echo $ q;

출력은 쿼리에 할당 된 모든 변수를 생성합니다.

내가 당신이 원하는 것을 정확하게 이해하기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top