PHPのPDOで実行されたSQL文を取得することはできるでしょうか?
PHP
1$pdo = new PDO (...); 2$stmt = $pdo->prepare('UPDATE sample SET column1 = ?, column2 = ? WHERE id = ?'); 3$stmt->bindValue(1, '値1', PDO::PARAM_STR); 4$stmt->bindValue(2, '値2', PDO::PARAM_STR); 5$stmt->bindValue(3, 10, PDO::PARAM_INT); 6$stmt->execute(); 7//=> UPDATE sample SET column1 = '値1', column2 = '値2' WHERE id = 10;
この実行されたSQL文を取得する$pdo->getSQL()みたいな関数はないでしょうか?
$pdo->queryStringではprepareした文字列そのもので、$pdo->debugDumpParams()ではprepareされたプレースホルダーの情報などしか得られません。そうではなく、実際に実行されたSQL文が欲しいです。(デバッグの目的です)
自前で作成する方法はこちらを参考にしましたが、できればダイレクトに取得したいです。
教えていただけるとありがたいです。よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー