问题描述
我正在使用 Fat Free Framework,但在尝试使用 dry()
函数检查不存在的数据 ID 时出现此错误
如果我为它提供不存在的 ID 值,我下面的代码将抛出 Call to a member function dry() on bool 错误。如果未找到 ID,则应回显 Empty Cursor 回显,如果出现错误,则应回显。如果我使用数据库中的 ID,它将显示该 ID 存在。
if(is_numeric($param['id']))
{
$id = $param['id'];
//check if data exist
$data = $data->load($id);
if(!$data->dry())
{
echo 'Data with id:'.$id.' exist';
}
else echo 'Cursor is empty. Data with id:'.$id.' doesnt exist!';
die();
}
else $f3->reroute('/');
如何在没有错误的情况下检查 ID 是否存在?
解决方法
如果您的 load()
方法在未找到数据时返回 false
,那么您应该在尝试对该值进行任何进一步操作之前检查这一点。
我也将测试更改为
if($data !== false) {
这样,如果您的方法返回一些其他看起来像 false(0、null 等)的值,那么这将确保它只选择 false
...
if(is_numeric($param['id']))
{
$id = $param['id'];
//check if data exist
$data = $data->load($id);
if($data !== false) {
echo 'Data with id:'.$id.' exist';
}
else {
echo 'Cursor is empty. Data with id:'.$id.' doesnt exist!';
}
die();
}
else {
$f3->reroute('/');
}