1

我在while循环中执行exec函数时遇到问题
我想将xml文件传输到服务器问题是传输到服务器成功但数据xml完全一样,数据仍然是第一个xml数据
是exec动作不能在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_r是 xml 数据

4

1 回答 1

1

$output在调用 exec 之前,您不会重置变量的内容。例如

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

在 exec 调用将解决您的问题之前。

如 exec 文档中所述,如果行数组已经包含数据,那么新结果将被附加到它上面。

于 2013-07-11T03:45:13.767 回答