데이터베이스에서 준비된 쿼리를 볼 수있는 방법이 있습니까? [복제하다
문제
가능한 복제 :
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;
출력은 쿼리에 할당 된 모든 변수를 생성합니다.
내가 당신이 원하는 것을 정확하게 이해하기를 바랍니다.
제휴하지 않습니다 StackOverflow