我想用准备好的MySQL语句来处理“重复条目”错误。
我有线条
$result = $db->prepare("INSERT INTO comptability (id_comptability, order_id, Reduction, `%TVA`, Facture) VALUES (?, ?, ?, ?, ?)");
$result->execute(array($no_facture, $id_order, $reduc_tot, $tot, $date));
如果没有任何错误,想要执行一些代码。如果出现错误,则显示弹出窗口并使编程死亡。
我已经尝试了
if($result === false)//Catch error
{}
else //It worked
{}
但它没效果
答案 0 :(得分:0)
您可以使用INSERT IGNORE
,然后使用PDOStatement::rowCount
概念应该遵循:
$result = $db->prepare("INSERT IGNORE INTO comptability (id_comptability, order_id, Reduction, `%TVA`, Facture) VALUES (?, ?, ?, ?, ?)");
if ($result->execute(array($no_facture, $id_order, $reduc_tot, $tot, $date))) {
if ($result->rowCount() == 0) {
// You had a duplicate record.
} else {
// all good.
}
}