XML sent by PHP Curl

125 views Asked by At

I've written some code that is attempting to send data from mySQL database in xml form via phpCurl to another server. No error appears but how do I test if its correct? Can anyone spot any errors?

<?php

$mysqli_connection = new MySQLi('localhost', 'root', 'secret', 'edgeserver');
if ($mysqli_connection->connect_error) {
   echo "Not connected, error: " . $mysqli_connection->connect_error;
}

$sql = "SELECT SessionLogs.sessionid, SessionLogs.eventid, BetStatus.BetStatus, EventStatus.EventStatus, SessionLogs.activestatusid
FROM SessionLogs INNER JOIN
EventStatus ON SessionLogs.eventstatusid = EventStatus.EventStatusID INNER JOIN
BetStatus ON SessionLogs.betstatusid = BetStatus.BetStatusID
where ActiveStatusID = 1
";




$res = $mysqli_connection->query($sql);


$xml = new XMLWriter();
$xml->openmemory();
$xml->openURI("php://output");
$xml->startDocument();
$xml->setIndent(true);
$xmlstring = $xml->outputMemory();
$xml->startElement('Alive');
$xml->writeAttribute('timestamp', date('c'));

if($res === FALSE) { 
    die(mysqli_error()); // TODO: better error handling
}

while ($row = mysqli_fetch_assoc($res)) {
  $xml->startElement("Event");

  $xml->writeAttribute('sessionid', $row['sessionid']);
  $xml->writeAttribute('eventid', $row['eventid']);
  $xml->writeAttribute('BetStatus', $row['BetStatus']);
  $xml->writeAttribute('EventStatus', $row['EventStatus']);
  $xml->writeAttribute('activestatusid', $row['activestatusid']);

  $xml->endElement();
}

$xml->endElement();
$xml->endElement();

header('Content-type: text/xml');
$xml->flush();


$url='HTTP://WWW.XXXXXXXXXX.INFO'; // URL


$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POSTFIELDS,
            $xml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300);
$data = curl_exec($ch);
curl_close($ch);


?>

Thanks

0

There are 0 answers