我有一个包含一些查询的脚本:
$id = $_GET['id'];
$value = $_GET['val'];
// database connection here
// inserting
$stm1 = $db_conn->prepare("INSERT into table1 (col) VALUES (?)");
$stm1->execute(array($value));
// updating
$stm2 = $db_conn->prepare("UPDATE table2 SET col = "a new row inserted" WHERE id = ?");
$stm2->execute(array($id));
如您所见,有两个陈述(insert
和update
)。我所要做的就是确保它们都能正常工作或者没有工作。
我的意思是我想在这两个语句之间实现依赖关系。如果更新失败,则插入不起作用,反之亦然。我怎么能这样做?
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用交易,PDO有此api(http://php.net/manual/en/pdo.begintransaction.php),
var
答案 2 :(得分:1)
正如其他人所说,你可以使用'交易'
或者 你可以mannualy检查数据是否在数据库中是正确的。只需选择'你插入了什么。
执行'功能返回' true'成功或虚假'失败了。你可以这样做:
$isDone=$stm1->execute(array($value));
if(!$isDone){
echo 'Operation fails, I will stop.';
return false;
}