我正在努力使用PHP中的cURL将XML请求发送到URL。

首先,我只是想确保我的请求正在发送正确的数据,因此这是我的代码的摘录。一旦知道我发送正确的数据,我将在以后添加curl语句。

到目前为止,这是我的代码:

$format = 'Y-m-j G:i:s';

$date = date ( $format );
$d = date ( $format, strtotime ( '-90 days' ) );

$sql = mysql_query("SELECT * FROM recurringPayments WHERE lastpmt <= '$d'");

$num_rows = mysql_num_rows($sql);
echo $num_rows . " results found";

echo "<table style=\"border:1px solid green;\">
            <tr bgcolor=\"#bdd73b\">
            <th>ID</th>
            <th>Company Name</th>
            <th>Annual Subscription</th>
            <th>Package</th>
            <th>Cost</th>
            <th>Payer Ref</th>
            <th>Payment Ref</th>
            <th>Last Payment Date</th>
            </tr>";

            while ($row = mysql_fetch_array($sql))
            {
                echo "<tr>";
                echo "<td>" . $row['ID'] . "</td>";
                echo "<td>" . $row['compName'] . "</td>";
                echo "<td>" . $row['annualSub'] . "</td>";
                echo "<td>" . $row['package'] . "</td>";
                echo "<td>" . $row['cost'] . "</td>";
                echo "<td>" . $row['payerref'] . "</td>";
                echo "<td>" . $row['pmtref'] . "</td>";
                echo "<td>" . $row['lastpmt'] . "</td>";
            }
            echo "</table>";
while ($row = mysql_fetch_array($sql))
{
$xml_data ='<request type="receipt-in" timestamp="20030520151742">'.
       '<merchantid>test</merchantid>'.
           '<account>internet</account>'.
       '<orderid>transaction01</orderid>'.
       '<amount currency="EUR">'.$row['cost'].'</amount>'.
           '<payerref>'.$row['payerref'].'</payerref>'.
           '<paymentmethod>'.$row['pmtref'].'</paymentmethod>'.
           '<autosettle flag="1" />'.
           '<md5hash />'.
       '<sha1hash>c81377ac77b6c0a8ca4152e00cc173d01c3d98eb</sha1hash'.
       '</request>';
}

 echo $xml_data;


当我尝试回显$ xml_data时,出现以下错误消息:


  注意:未定义的变量:xml_data
  在C:\ wamp \ www \ Internal \ paymentDue.php中
  在第63行


根据我的逻辑,我可以在输出表时输出XML,但是我可能(可能是)错误。任何指导表示赞赏。

谢谢。

PS:

我也刚刚意识到,当我发布此内容时,如果我在当前上下文中使用while循环,则$ xml_data每次循环都会被覆盖。任何与此相关的帮助也将非常有用。

最佳答案

您正在从头到尾循环遍历结果集以构建html表,然后即使您已经传递了集合的末尾,也尝试再次为xml遍历该结果集。在同一循环中构建两者。

在循环之前将xml_data设置为'',然后使用xml_data。=进行构建(甚至使用SimpleXML或XMLWriter而不是将其构建为字符串)

09-28 05:45