提问人:Ping 提问时间:11/15/2023 最后编辑:Ping 更新时间:11/15/2023 访问量:17
为什么这个 codeigniter 数据库返回值为 null?
Why is this codeigniter database return value null?
问:
CodeIgniter 4,我有以下控制器代码:
$product_tier = $this->SiteModel->getProductTierByPCUID($site->id, $p->uid);
使用以下型号代码:
public function getProductTierByPCUID($site_id, $pcuid) {
$sql = 'SELECT * FROM site_product_tier WHERE site_id = ? AND pcuid = ?';
$query = $this->db->query($sql, array($site_id, $pcuid));
return $query->getRow();
}
如果我在呼叫下方回显 $product_tier,我会得到这个:
{
"id": "256",
"site_id": "22",
"product": "0",
"tier": "0"
}
getType($product_tier) 给了我对象。
但是,如果我运行这个:
$used_product_tiers = array();
$product_tier = $this->SiteModel->getProductTierByPCUID($site->id, $p->uid);
if (!in_array($product_tier->id, $used_product_tiers)) {
}
我收到错误:
{
"title": "ErrorException",
"type": "ErrorException",
"code": 500,
"message": "Attempt to read property \"id\" on null",
"file": "/var/www/vhosts/dev.website.com/httpdocs/app/Controllers/Api.php",
"line": 553,
}
第 553 行是 if 语句。
我错过了什么?
如果我将 product_tier->id 设置为 like 300,则代码有效,但它似乎无法在 if 语句中读取 $product_tier->id。
如果我尝试设置 $var = $product_tier->id;我得到同样的错误,除非我立即返回值。
重命名 $product_tier 也不起作用。
答: 暂无答案
评论