0

クラスなしでスクリプトを作成しました。(フレームワーク)。今、私は気が変わって、クラスでスクリプトを作成したいと思っています。それはいいですね。しかし、問題があります.. Infinite Loop While。以前はクラスなしでこの問題を取りませんでした..

ルール中。

while ($fetch=$db->fetchObject($db->q("SELECT * FROM auction_house.items ORDER BY id DESC LIMIT ".$min_stuff.",".$max_stuff."")))
{
    // etc
}

クラス;

public function fetchObject($queryRes)
{
    $this->queryRes = $queryRes;
    $this->record = mysql_fetch_object($this->queryRes);
    return $this->record;
}

while ループしようとすると、ページ上で無限ループが発生します。どうすればこの問題を解決できますか?

4

3 に答える 3

4

各反復でクエリを実行します。常に新しいリソースを返します。

クエリとサイクルを分離してみてください:

$res = $db->q("SELECT * FROM auction_house.items ORDER BY id DESC LIMIT ".$min_stuff.",".$max_stuff."");
while ($fetch=$db->fetchObject($res))
{
    // etc
}
于 2013-05-07T10:57:27.283 に答える
0

反復ごとに新しいクエリを開始しています。

queryRes を保存する必要があります。

$queryRes = $db->q("SELECT * FROM auction_house.items ORDER BY id DESC LIMIT ".$min_stuff.",".$max_stuff."");

while ($fetch=$db->fetchObject($queryRes))
{
    // etc
}

一方で、queryRes と record を $db のインスタンス変数として格納する必要があるかどうかはわかりません。

于 2013-05-07T11:02:35.163 に答える