php - 如何解决:stdClass 类的对象无法转换为 int
问题描述
我有这样的错误:
类 stdClass 的对象无法转换为 int 和未定义属性:stdClass::$tugas
在功能上:
public function cekNilai($id_mhs){
$sql = 'SELECT COUNT(*) from nilai WHERE id_mhs =:id_mhs';
$query = $this -> conn -> prepare($sql);
$query -> execute(array('id_mhs'=>$id_mhs));
if($query){
$row_count = $query -> fetchObject();
if ($row_count == 0){
return false;
} else {
echo $row_count->tugas;
return true;
}
} else {
return false;
}
}
我的数据库:
解决方案
对该方法的此调用fetchObject()
返回一个包含查询值的对象,或者FALSE
在失败时返回。但是在这里你将它与一个整数进行比较,这不是你想要的:
$row_count = $query -> fetchObject();
if ($row_count == 0){
另请注意,您正在查询行数:
$sql = 'SELECT COUNT(*) from nilai WHERE id_mhs =:id_mhs';
这将返回一个值(计数)——而不是一行。但是随后您尝试从对象中提取一列,这将不起作用,因为tugas
对象中没有值:
return $row_count->tugas;
你可能想要这样的东西:
$row_count = $query->fetchColumn();
return $row_count > 0;
推荐阅读
- google-chrome - Chrome DevTools - 性能选项卡摘要
- javascript - mongoose switch 数据库进行具体操作
- javascript - 使用 puppeteer 在 iframe 中输入文本
- javascript - Webpack 加载字体图标但不加载字体本身
- git - cpanel 警告:您的系统管理员必须启用 shell 访问才能让您查看克隆 URL
- css - 当其余列为空时,如何在网格中居中列?
- python - 如何使用python在电报上发送照片
- android - ccache 以只读方式失败
- python - 我无法在 Windows 上的 python 中安装任何模块
- flutter - Flutter Sqflite 数据库在关闭 App 后会消失