我从strange error数据库的电话号码中收到了query()。这通常不会有问题,除了似乎查询调用将我重定向到500服务器错误页面而不执行我的其余代码。
无论错误如何,这个PHP都是在AJAX调用期间执行的,这意味着我无法返回包含错误的格式正确的json字符串,因为CakePHP正在重定向。
解决方法是在发生错误时解析来自服务器的大HTML响应,并使用javascript找出出错的地方并正确显示它,但我宁愿从后端返回一个小的json字符串与我已有的代码很好地配合。
这是我的电话:
$this->FileUpload->query('exec sproc_runjob_ProcessTests', false);
非常感谢任何帮助。提前谢谢!
答案 0 :(得分:1)
正如bfavaretto上面提到的那样,正确的答案是在try catch中包围查询行。
以下是我使用的代码:
try{
$this->dbParent->FileUpload->query('exec sproc_runjob_ProcessTests', false);
} catch(PDOException $e){
if($e['errorInfo'][0] == 42000 && $e['errorInfo'][1] == 22022)
return array('error' => 'sproc_blocked');
}
return array('success'=>true);