0

私のデータベースからは、1つの結果しか得られません。それにもかかわらず、このコードのために配列が返されます

while($obj = $stmt->fetch(PDO::FETCH_OBJ)){
    $result[] = $obj;
}

返された配列には、インデックス0に1つの要素(オブジェクト)しかありません。このオブジェクトから、プロパティにアクセスします。

私のコードは次のようになります:

return $result[0]->_id;

通知が届きます

で非オブジェクトのプロパティを取得しようとしています...

これが私のダンプです:

var_dump

array(1) { [0]=> object(stdClass)#4 (13) { ["_id"]=> string(8) "43001613" ["another-property"]=> string(5) "20608" } }

print_r

Array
(
    [0] => stdClass Object
        (
            [_id] => 43001613
            [another-property] => 20608
        )

)

確かに小さなエラーですが、今はわかりません。

編集: これが完全な機能です:

public function getOrtIDForPLZ($plz){
    $sql = "SELECT * FROM verortung WHERE plz = :plz LIMIT 1;";
    $result = $this->ExecuteQuery($sql, array("plz"=>$plz));

    var_dump($result);
    echo '<pre>';
    print_r($result);
    echo '</pre>';

    return $result[0]->_id;
}

出力:

array(1) { [0]=> object(stdClass)#32 (13) { ["_id"]=> string(8) "43006637" ["gemeindekennziffer"]=> string(5) "32330" ["gemeindename"]=> string(13) "Theresienfeld" ["ortsname"]=> string(13) "Theresienfeld" ["plz"]=> string(4) "2604" ["bezirk"]=> string(21) "Wiener Neustadt -Land" ["bundesland"]=> string(17) "Niederösterreich" ["lat"]=> string(11) "47.85000000" ["lon"]=> string(11) "16.23333330" ["einwohner_2001"]=> string(4) "2490" ["kfz-kennzeichen"]=> string(2) "WB" ["fläche_km2"]=> string(5) "11.44" ["seehöhe"]=> string(3) "282" } }

Array
(
    [0] => stdClass Object
        (
            [_id] => 43006637
            [gemeindekennziffer] => 32330
            [gemeindename] => Theresienfeld
            [ortsname] => Theresienfeld
            [plz] => 2604
            [bezirk] => Wiener Neustadt -Land
            [bundesland] => Niederösterreich
            [lat] => 47.85000000
            [lon] => 16.23333330
            [einwohner_2001] => 2490
            [kfz-kennzeichen] => WB
            [fläche_km2] => 11.44
            [seehöhe] => 282
        )

)

NULL

注意:4507行目の/home/www/home/includes/class.DatabaseQuery.phpで非オブジェクトのプロパティを取得しようとしています

4

1 に答える 1

2

このメソッドを複数回呼び出している可能性があります。最初の呼び出しではすべてが大丈夫ですが、次の呼び出しでは...

ほらNULL?確かに、のプロパティを取得することはできませんNULL

そうでない場合は、4507行目が別の場所を指しています。

于 2013-01-23T10:28:08.020 に答える