-1

次のようなスクリプトがあります。

$result = array();
$sql = "SELECT DISTINCT Name FROM servers"; //doesn't really matter what this MySQL script is

//storing the same query in two different variables
$result[0] = mysql_query($sql);
$result[1] = $result[0];

for($i = 0; $i < 3; $i++) {

    $result[0] = $result[1];

    while($ret = mysql_fetch_array($result[0]) {
        //run some code
    }

}

残念ながら、上記のコードは 1 回実行され、次の反復では何も返されません。私は何を間違っていますか?

4

1 に答える 1

0

あなたが何をしようとしているのかよくわかりません。しかし、私が理解したら、これを試してください。for ループを削除し、while ループを配置して、やりたいことを実行します。

$sql = "SELECT DISTINCT Name FROM servers";
$result = mysql_query($sql);
    while($ret = mysql_fetch_array($result) {
        //run some code
        echo $ret['Name'];
    }
}

各反復で 3 つのレコードすべてを取得し、各レコードに対して実行したいプロセスを実行します。3 つのレコードに対してスリー 3 クエリを作成する必要はありません。1 つのクエリですべてのレコードが取得され、while ループを実行して各レコードを取得します。それが役に立てば幸い。

于 2013-01-18T12:32:23.857 に答える