I have been working on my application that is meant to return data from a sql query from a PHP file to the client C# application.
The query is executed on the PHP side and loaded into a referenced XML query where it is sent to the client. The client then reads the XML and extracts the required data.
However, I am a tad confused. For some reason - not all information is being returned.
PHP:
$query = "SELECT * FROM Parks";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
$array = array (
$row['Name'] => 'Name',
$row['File'] => 'File',
$row['Image'] => 'Image',
$row['Description'] => 'Description',
$row['Author'] => 'Author',
$row['CS'] => 'CS',
$row['Size'] => 'Size',
$row['Theme'] => 'Theme',
$row['Mountains'] => 'Mountains',
$row['Hills'] => 'Hills',
$row['Rivers'] => 'Rivers',
$row['Lake'] => 'Lake',
$row['Ocean'] => 'Ocean',
$row['Island'] => 'Island',
$row['SetOfIslands'] => 'Setofislands',
$row['Waterfalls'] => 'Waterfalls',
$row['Download'] => 'Download',
$row['ID'] => 'ID',
$row['Rating'] => 'Rating',
$row['FileSize'] => 'FileSize',
$row['DateUploaded'] => 'Dateuploaded',
);
$xml = new SimpleXMLElement('<Parks/>');
array_walk_recursive($array, array ($xml, 'addChild'));
echo $xml->asXML();
However, on the client side the XML is missing certain values.
For example, Run 1 returned the values of: Name,FileImage,Description,Author,CS,Size,Theme,Lake,Waterfalls,Dateuploaded,Download,ID,Rating,FileSize
While Run 2 returned: Name,File,Image,Description,Author,CSSize,Theme,Waterfalls,Rivers,Dateuploaded,Download,ID,Rating,FileSize
As you can see the first run doesn't return the parameter 'Rivers' but the second one does. Every run seems to return different values.
After checking my database all of the values it was missing were stored either as a 'True' or 'False' variable. I'm not sure if that has any thing to do with it - but checking the returned results against the data in my database I found there was no consciency.
In short, why isn't the array storing all of the data I'm asking it to and why does the process of what it chooses to store seem to be so random?
PS: I've echoes back each row before and can confirm the database rows are named correctly and data is present within them....
EDIT: An example of the returned xml:
<?xml version="1.0"?>
<Parks><Name>Some Name</Name>
<File>The File Path</File>
<Image>Link To Screenshot</Image>
<Description>Random description </Description>
<Author>Someone</Author>
<CS>False </CS><
Size>small</Size>
<Theme>space</Theme>
<Island>False</Island>
<Lake>True</Lake>
<Ocean>False</Ocean>
<Waterfalls>True</Waterfalls>
<Rating>0</Rating>
<ID>166</ID>
<FileSize>3706121</FileSize>
<Dateuploaded>2013-04-04</Dateuploaded>
</Parks>