-2

我正在尝试这样的事情:

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>';
}

最后 - 我只有数组中的最后一行。为什么?当我尝试使用数组(和 2 个字段)时,没有“kategoria”类 - 它有效,但我需要将查询结果放入表示表行的对象数组中。我做错了什么?我是 PHP 新手。

4

2 回答 2

1
$output += array(clone $kat);

如果您尝试附加到$output数组,则语法为。

$output[] = array(clone $kat); // or array_push($output, array(clone $kat));

在 PHP 中将数组添加在一起会合并它们,这似乎不是您想要的。

于 2012-02-18T07:08:45.813 回答
0

我必须序列化和反序列化绑定到结果集的类。

$output += array(deserialize(serialize($kat)));
于 2012-03-08T15:54:39.697 回答