Codeigniter 4 - 从数据库获取结果的问题

20 浏览
0 Comments

Codeigniter 4 - 从数据库获取结果的问题

我对codeigniter 4还不熟悉,目前在从数据库中检索数据方面遇到了一些问题。\n在我的控制器中,我有以下代码:\n

$partno = model(Ecart_model::class)->getPartno($productid);
        echo json_encode($partno);

\n在我的模型中,我有以下代码:\n

public function getPartno($productid){
        $db = db_connect();
        $partno = $db->table('products')->select('partno')->where('id', $productid)->get();
        return $partno;
    }

\n在我的Ajax函数中,我有以下代码:\n

function addtoecart(ip,productid){
    var postData = {ip: ip, productid: productid};
    $.ajax(
        {
            url : 'https://www.myurl.com/ecart/add',
            type: 'POST',
            data : postData,
            dataType: "json",
            success: function(result) {
                alert(result);
            },
        });
}

\n在功能方面一切正常(这不是问题所在)。问题是从数据库中检索到的值/数据在传回Ajax函数时,在成功时弹出的提示框中显示为[object Object],而不是实际从数据库中检索到的值。\n我希望这样说得清楚。你知道代码有什么问题吗?\n谢谢!

0
0 Comments

问题出现的原因是代码中的语法错误。在第4行代码中,应该使用箭头符号(->)而不是HTML实体编码(->)来访问数据库对象的方法。

解决方法是将箭头符号(->)替换为HTML实体编码(->),即将代码修改为:

public function getPartno($productid){
    $db = db_connect();
    $row = $db->table('products')->select('partno')->where('id', $productid)->get()->getRowArray();
    return $row['partno'];
}

此外,提到了使用JSON解析返回的结果。如果返回的结果是JSON格式的字符串,可以使用`JSON.parse(result)`来解析它。但是,由于返回的结果是一个整数(int),可能不需要使用JSON解析,可以直接输出结果。

0