Pear
レス数が950を超えています。1000を超えると書き込みができなくなります。
0968nobodyさん
2005/07/22(金) 01:08:44ID:???PEAR::DBのquery()または、execute()で実行されたSQL文をログに出力したいと考えています。
現在は、下記のようにquery()またはexecute()を実行する直前でログに出力しています。
$sql = "select * from table";
$logger->debug($sql); // ここでログに出力
$db->query($sql);
しかし、このような場合は実行されたSQL文を出力できません。
$sql = "insert into table (col1, col2) values(?, ?)";
$params = array(
'val1',
'val2'
);
$sth = $db->prepare($sql);
$logger->debug($sql);
$db->execute($sth, $params);
この場合は、"insert into table (col1, col2) values(?, ?)"がログに出力されますが、
実際に実行されたSQL文(?が実際の値に置換された状態)をログに出力できません。
プレースホルダを使用した場合に、プレースホルダが置換された状態のSQLを取得するには
どうすればいいでしょうか。
[環境]
PostgresSQL 8.0
PHP 4.3.11
Apache 2.0.52
Windows2000 SP4
よろしくお願いします。
レス数が950を超えています。1000を超えると書き込みができなくなります。