0

私は配列を持っています。例は..

Array
(
    [cats] => Resource id #54
    [listings] => Array
        (
            [home-and-garden] => Resource id #55
            [professional-services] => Resource id #56
            [community] => Resource id #57
            [education-and-instruction] => Resource id #58
            [automotive] => Resource id #59
            [legal-and-financial] => Resource id #60
        )

)

さて、catsキーはMySQLデータセットです。これをループしても問題はありませんmysql_fetch_array。ただし、そのループ内に入ると、次のようなリスト配列の特定のキーで別のループを実行しようとします。home-and-gardenリスト配列の下のすべてのキーは動的であるため、キー名を持つ変数を渡す必要がありますが、うまくいきません。 t ループに入ります。

以下は私のコードの例です..

protected function makePopularCategoryHTML($sql) {

    while (list($main_category,$slug,$image)=mysql_fetch_array($sql['cats'])) {

        // Make lowercase category slug
        $main_category_slug = URLSafe($main_category);

        while (list($category,$name,$tag1,$newurl)=mysql_fetch_array($sql['listings'][$main_category_slug])) {

            // It won't enter this loop                

        }

    }

}

編集:例のダンプ$sql['listings'][$main_category_slug]は以下のとおりです。

resource(55) of type (mysql result) 

のダンプ$sql['listings']は次のとおりです。

array(6) {
  ["professional-services"]=>
  resource(55) of type (mysql result)
  ["home-and-garden"]=>
  resource(56) of type (mysql result)
  ["community"]=>
  resource(57) of type (mysql result)
  ["food-and-dining"]=>
  resource(58) of type (mysql result)
  ["real-estate"]=>
  resource(59) of type (mysql result)
  ["business-to-business"]=>
  resource(60) of type (mysql result)
}

それらはすべて有効なリソースであると思われ、キー名が正しいことを確認しました。

4

1 に答える 1

1

それぞれのクエリからエラーが発生していないため、クエリは問題ないと想定していたため、入力されない配列は空でしたが、そうではありませんでした-検索パラメーターの1つが空白でした。

このような問題が発生した場合は、常にそれぞれのクエリを出力し、手動で実行して、空の結果セットがあるかどうかを確認してください。

于 2012-09-09T14:42:35.247 に答える