Mysql
 sql >> база данни >  >> RDS >> Mysql

В PHP с PDO, как да проверя окончателната SQL параметризирана заявка?

Така че мисля, че най-накрая ще отговоря на собствения си въпрос, за да имам пълно решение за протокола. Но трябва да благодаря на Бен Джеймс и Кайлаш Баду, които предоставиха уликите за това.

Кратък отговор
Както е споменато от Бен Джеймс:НЕ .
Пълната SQL заявка не съществува от страната на PHP, тъй като заявката с токени и параметрите се изпращат отделно към базата данни. Пълната заявка съществува само от страната на базата данни.

Дори опитът да се създаде функция за замяна на токени от страна на PHP няма да гарантира, че процесът на подмяна е същият като този на SQL (сложни неща като token-type, bindValue срещу bindParam, ...)

Заобиколно решение
Тук разяснявам отговора на Кайлаш Баду. Като регистрираме всички SQL заявки, можем да видим какво наистина се изпълнява на сървъра. С mySQL това може да стане чрез актуализиране на my.cnf (или my.ini в моя случай с Wamp сървър) и добавяне на ред като:

log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]

Просто не стартирайте това в производство!!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Отдалечени връзки Mysql Ubuntu

  2. Повишаване на нивото на управление на MySQL, MariaDB, PostgreSQL и MongoDB

  3. Как да направите заявки за присъединяване с помощта на Sequelize на Node.js

  4. FIND_IN_SET() срещу IN()

  5. Как да промените секундите във времева стойност в MySQL