次のPHPコードがあります。実行すると、「*Parse error: syntax error, unexpected T_STRING in /home/ashb/public_html/databaseconnect.php on line 20」というエラーが表示されます。
コードが機能していたとき、20行目は次のとおりです。$xml_output .= "<?xml-stylesheet href=\"$xslt_file\" type=\"text/xsl\" ?>";
コードを に変更する必要があります$xml_output .= "<?xml-stylesheet href=\"$xslt_file\" type=\"text/css\" ?>";
。これを変更した後、エラーが発生します。
それの何が問題なのですか?完全なコードは以下に含まれています。
注: $xslt_file 変数は、上記のコードのさまざまな行に合わせて適切に変更されています。
<?php
header("Content-type: text/xml");
$host = "###";
$user = "###";
$pass = "###";
$database = "###";
$xslt_file = "/xmlstyle.css";
$linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host.");
mysql_select_db($database, $linkID) or die("Could not find database.");
$query = "SELECT * FROM users WHERE Username = 'Username4';";
$resultID = mysql_query($query, $linkID) or die("Data not found.");
$xml_output = "<?xml version=\"1.0\"?>\n";
//$xml_output .= "<?xml-stylesheet href=\"$xslt_file\" type=\"text/xsl\" ?>";
$xml_output .= "<?xml-stylesheet href=\"$xslt_file\" type=\"text/css\" ?>";
$xml_output .= "<Users>\n";
for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){
$row = mysql_fetch_assoc($resultID);
$xml_output .= "\t<Person>\n";
$xml_output .= "\t\t<Username>" . $row['username'] . "</Username>\n";
$xml_output .= "\t\t<Firstname>" . $row['firstname'] . "</Firstname>\n";
$xml_output .= "\t\t<Lastname>" . $row['lastname'] . "</Lastname>\n";
$xml_output .= "\t\t<Title>" . $row['Title'] . "</Title>\n";
$xml_output .= "\t\t<Description>" . $row['Description'] . "</Description>\n";
$xml_output .= "\t\t<Location>" . $row['Location'] . "</Location>\n";
$xml_output .= "\t\t<Feeling>" . $row['Feeling'] . "</Feeling>\n";
// Escaping illegal characters
$row['text'] = str_replace("&", "&", $row['text']);
$row['text'] = str_replace("<", "<", $row['text']);
$row['text'] = str_replace(">", ">", $row['text']);
$row['text'] = str_replace("\"", """, $row['text']);
$xml_output .= "\t</Person>\n";
}
$xml_output .= "</Users>";
echo $xml_output;
?>