php - PHP 中的 undefined variable

标签 php mysql xml curl

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

首先,我只是想确保我的请求发送了正确的数据,所以这里是我的代码片段。一旦我知道我正在发送正确的数据,我将在稍后添加 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 时,我收到以下错误消息:

Notice: Undefined variable: xml_data in C:\wamp\www\Internal\paymentDue.php on line 63

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

谢谢。

附言:

我在发帖时也刚刚意识到,如果我在当前上下文中使用 while 循环,每次循环时 $xml_data 都会被覆盖。对此的任何帮助也会很棒。

最佳答案

您正在从头到尾循环遍历您的结果集以构建 html 表,然后尝试再次循环遍历它以获取您的 xml,即使您已经过了结果集的末尾。在同一个循环中构建两者。

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

关于php - PHP 中的 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3907475/

相关文章:

xml - 在 xml 中转义 xml 标签

php - 如何将 CSS 格式应用于 EXCEL 表单输入字段

javascript - 从 php 获取 2 个 JSON 数组到 js

php - 用于 SEO 的 Zend Framework URL 重写

php - 税收数据库架构

mysql - 使用netbeans在microsoft access中创建数据库和在mysql中创建数据库之间的区别

mysql - 选择第一个等于数字或字母的值 sql php

php - 当结果包含 ~100,000 行时,mysqli_query 停止执行 php

MySQL在连接中动态选择字段?

java - 明明使用solr出现 'Lock obtain timed out'怎么解决?