0
我已經2天以上,並無法弄清楚這種情況。MSSQL更新工作,但插入失敗
我正在使用PHP 5.5 ans MSSQL,看來我不能在某個表中插入,而更新在此表上工作,並且相同的插入在另一個表上工作。
當然,我已檢查我的用戶在此表上是否有正確的權限。
下面的代碼也許我是愚蠢的......
// Establish connection
try {
$pdo = new PDO(DSN, UID, PWD);
} catch (PDOException $e) {
die("Error! ".$e->getMessage());
}
$pdo->beginTransaction();
// Merge-like event
try {
$updateStmt->execute();
$rows = $updateStmt->rowCount();
if($rows == 0) {
$insertStmt->execute();
}
} catch (Exception $e) {
$pdo->rollBack();
die("Error! ".$e->getMessage());
} finally {
$insertHistoryStmt->execute();
$pdo->commit();
}
我所有的PDO語句對象是用合適的值校正。 我對INSERT沒有錯誤,似乎從未在數據庫上執行過。
請問你是否需要更多的代碼來理解我不想把我的整個代碼放在這裏,並說「請做我的工作」。
感謝我真的很堅持:/
pdo默認爲在失敗時返回布爾值false。除非你明確地啓用異常,否則它唯一會拋出的是初始連接嘗試。因此你的try/catch沒用,因爲你在那裏做的所有操作都不會拋出異常。 –
只需按照[此處](https://phpdelusions.net/pdo#errors)中的說明配置PDO,以使其引發異常。另外請注意,您應該重新拋出異常,而不是手動殺死scriipt。 –
謝謝。明天早上我會做,我不得不推送應用程序到今晚的生產。好,祝你有個愉快的夜晚 – Ben