doumianfeng6979 2012-02-18 07:04
浏览 62
已采纳

绑定到类属性并获取到数组 - php mysqli bind_result

Im trying something like this:

class kategoria
{
    public $IdKat;
    public $IdKatNad;
    public $NazwaKat;
}

function get_cats()  
{  

    $query = "SELECT IdKat, NazwaKat, OpisKat  FROM `kategorie`"; 

    try
    {
        $stmt = $this->link->prepare($query);

        /* bind parameters for markers */
        //$stmt->bind_param("i", $idKat);

        $stmt->execute();
        $kat = new kategoria();

        $stmt->bind_result(
                $kat->Idkat, 
                $kat->NazwaKat, 
                $kat->OpisKat
                );


        $output = array();

        while ($stmt->fetch()) {
            $output += array(clone $kat);
        }

        $stmt->close();
    }
    catch (Exception $e)
    {
        echo $e;
    }

    echo '<pre>';
    print_r($output);
    echo '</pre>';
}

At the end - i have only last row in array. Why? When i tried with array (and 2 fields), without "kategoria" class - it worked, but i need to put query result in array of objects representing table rows. what im doing wrong? Im new in PHP.

  • 写回答

2条回答 默认 最新

  • doushishi2415 2012-03-08 15:54
    关注

    I had to serialize and deserialize my class binded to result set.

    $output += array(deserialize(serialize($kat)));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥50 vue router 动态路由问题