1

whileループでexec関数を実行するときに問題があります.xml
ファイルをサーバーに転送したい.問題はサーバーへの転送が成功することですが、データxmlはまったく同じです.データはまだ最初のxmlデータ
です.execアクションは. while 条件で実行できませんか? または、次の while を実行する前に何かをクリアする必要がありますか?

mysql_connect("someaddress","root","somepass");
mysql_select_db("somedatabase");

    $t_data = mysql_query("SELECT * FROM inbox_hmis WHERE ordernumber = '01' AND status = 'false'");
    while($data = mysql_fetch_array($t_data)){

    $un_id_sms = $data['id_sms'];
    echo "$un_id_sms";
        $xmlget = "/var/www/sms/basedata/$un_id_sms.xml";
                        exec("curl -d @$xmlget http://apps.dhis2.org/demo/api/dataValueSets -H Content-Type:application/xml -u admin:password", $output);
                        $outx = $output[0];

        $outx_r = str_replace("'", '"', $outx);

        echo "$outx_r | ";
    }

$un_ind_smsは一意の ID であり、xml ファイルの名前は
$outx_rxml データです

4

1 に答える 1

1

$outputexec を呼び出す前に変数の内容をリセットしていません。例えば

unset($output); // as recomended in php docs

exec 呼び出しが問題を解決する前に。

実行ドキュメントに記載されているように、行の配列に既にデータが含まれている場合、新しい結果がそれに追加されます。

于 2013-07-11T03:45:13.767 に答える