Я нашел тот же вопрос Вот но это без ответа, и я приведу более простой пример здесь, и попробуйте спросить еще раз …
Код:
<?php
$dbh = new PDO('mysql:dbname=test;host=127.0.0.1', 'root');
$sth = $dbh->prepare("SELECT '
Dumps the informations contained by a prepared statement directly on the output. It will provide the SQL query in use, the number of parameters used (Params), the list of parameters, with their name, type (paramtype) as an integer, their key name or position, and the position in the query (if this is supported by the PDO driver, otherwise, it will be -1).
This is a debug function, which dump directly the data on the normal output.
Tip:
As with anything that outputs its result directly to the browser, the output-control functions can be used to capture the output of this function, and save it in a string (for example).
This will only dumps the parameters in the statement at the moment of the dump. Extra parameters are not stored in the statement, and not displayed.
'
");
$sth->execute();
$sth->debugDumpParams();
Результат:
SQL: [835]
SELECT '
Dumps the informations contained by a prepared statement directly on the output. It will provide the SQL query in use, the number of parameters used (Params), the list of parameters, with their name, type (paramtype) as an integer, their key name or position, and the position in the query (if this is supported by the PDO driver, otherwise, it will be -1).
This is a debug function, which dump directly the data on the normal output.
Tip:
As with anythi
Params: 0
Почему это происходит и как это исправить?
Заранее спасибо!
я думаю что debugDumpParams
это ошибочная особенность в целом. Дело в том, что данные только в стандартном выводе выплевываются!
Так что я бы не стал его использовать в любом случае, и для целей ведения журнала либо включите общий журнал для mysql, либо создайте оболочку для PDO с функцией ведения журнала (это решение более переносимо).
Why it occurs?
— Я не нашел никакой информации об этом.
How fix it?
— Я не нашел никакой подсказки, как это исправить, используя родной PDO.
Основная цель этого вопроса — это как увидеть все запросы для определенного сценария PHP,
и я нашел только один способ добиться этого — это to enable general log for mysql
,