2

我有一个脚本,它能够建立一个较长的准备好的语句事务,我想要一种打印即将执行的内容的方法。

PDO 中没有一个类方法看起来很有希望。

编辑: 这是一个(hacky)数据库升级脚本,作为健全性检查。开发人员应该在修改数据库时附加到脚本。

$commonStmt = $pdo->prepare("INSERT ... VALUES (:a, :b)");
function commonInsert($a, $b) {
    global $commonStmt;
    $commonStmt->bindParam(':a', $a);
    $commonStmt->bindParam(':b', $b);
    $commonStmt->execute();
}


$pdo->beginTransaction();
if ($db_version < $file_version) {
    commonInsert('a', 'b');
}
if ($db_version < $file_version) {
    commonInsert('c', 'd');
}

if ($db_version < $file_version) {
    $stmt = $pdo->prepare('INSERT ...');
    $stmt->execute();
}

if ($db_version < $file_version) {
    $pdo->query('INSERT');
}

// this will only get longer

$pdo->commit();

我可以在每次更新中添加调试语句(根据 Tamas 的建议),但这对于简单的完整性检查来说似乎很繁重。而且这个commonInsert案子是最不可能需要它的案子。

4

1 回答 1

1

PDOStatement::debugDumpParams怎么样?

于 2012-04-09T03:17:36.940 回答