【发布时间】:2015-11-19 08:25:15
【问题描述】:
我从 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);
【问题讨论】:
-
您能显示导致错误的代码位吗?
try catch也许你需要的一切 -
添加了评论。 SQL 错误是故意生成错误
-
错误信息是什么? - 直接致命错误(例如缺少 T_SOMETHING 等)和由于未捕获的异常导致的致命错误之间存在差异
-
错误是:“...[25-Aug-2015 16:30:58 Africa/Johannesburg] PHP 致命错误:无法运行查询:UPDATE form_apas SET ,, profile_corporation_name=.. 。”
标签: php mysql fatal-error silverstripe