我从AJAX调用中获取数据,然后我尝试将其插入数据库。我正在使用Silverstripe 3.1(使用DB :: query()),但这似乎是一个PHP的东西。
如果事务有效,那么一切都按计划运行,但是,如果查询失败,我会收到PHP致命错误。
基本上我正在寻找一种方法来继续,尽管有致命的错误,这样我就可以向用户抛出失败的通知。我想知道查询是否有效。
*编辑以包含代码
$sql = "UPDATE $table SET ,,"; // Syntax error added purposefully
foreach ($update_array as $key => $value) {
$name = $formHelpers->some_filter($key);
$content = $formHelpers->some_filter($value);
$sql .= " $name='$content',";
}
$sql = rtrim($sql, ",");
$sql .= "WHERE id=$id";
$result = DB::query($sql);
答案 0 :(得分:0)
我需要看到您的代码,告诉您确切的需要做什么。但是,您正在寻找的概念称为try,catch,throw。进行数据库查询时,请添加catch语句。然后,如果错误被抛出,你可以抓住它并仍然做一些事情。这是一个关于Try,Catch,通过PHP的教程