我在 PHP 脚本中使用 PDO 来执行 SQL 查询。我想用多个查询进行交易并捕获错误。代码是这样的:
try
{
$dbh = new PDO(...);
$dbh-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch
{
...
}
$query1 = 'DO some QUERY';
$query2 = 'DO other QUERY';
try
{
$dbh->beginTransaction();
$dbh->exec($query1);
$dbh->exec($query2);
$dbh->commit();
}
catch
{
...
}
我怎么知道是哪个查询导致了错误?我想这样做是因为我想在不使用 SELECT 的情况下忽略第一个查询的重复键错误,而不是第二个查询的重复键错误(另请参阅我的上一个关于 UNIQUE 错误处理的问题)。