Hey everyone,
The PHP below was written to accept eight variables to search a MySQL database and return three results. However I am getting the following errors:
Localhost: Only one top level element is allowed in an XML document. Error processing resource ‘http:’.
Dreamweaver: error on line 2 at column 1: extra content at the end of the document
Flash: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs
[php]<?php
header(“Content-type: text/xml”);
$artist =$_POST[‘artist’];
$medium =$_POST[‘medium’];
$size =$_POST[‘size’];
$format =$_POST[‘format’];
$subject =$_POST[‘subject’];
$colour =$_POST[‘colour’];
$price =$POST[‘price’];
$available =$POST[‘available’];
$xmlBody = ‘<?xml version="1.0" encoding="ISO-8859-1"?>’;
$xmlBody .= “”;
$host = “127.0.0.1”;
$user = “root”;
$pass = “”;
$database = “syntegallery”;
$con = mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($database, $con) or die (“Could not find database”);
$query = “SELECT Filename, Thumbnail, Empirical”;
$query .= “FROM gallery”;
$query .= “WHERE Artist=’$artist’”;
$query .= “AND Medium=’$medium’”;
$query .= “AND Category=’$size’”;
$query .= “AND Format=’$format’”;
$query .= “AND Subject=’$subject’”;
$query .= “AND Colour=’$colour’”;
$query .= “AND Range=’$price’”;
$query .= “AND Available=’$available’”;
$query .= “ORDER BY Empirical”;
$result = mysql_query($query, $con) or die (“Data not found”);
$i = 0;
while($row = mysql_fetch_array($result))
{
$Filename = $row[“Filename”];
$Thumbnail = $row[“Thumbnail”];
$Empirical = $row[“Empirical”];
$i++;
$xmlBody .= ’
‘.$Filename.’
‘.$Thumbnail.’
‘.$Empirical.’
';
}
$xmlBody .= “”;
print $xmlBody;
mysql_close($con);
exit();
?>[/php]
Any advice on what could be the problem would be greatly appreciated!