<?php
mysql_connect("localhost", "****", "****") or die(mysql_error());
mysql_select_db("****") or die(mysql_error());
// Make a MySQL Connection
$query = "SELECT * FROM sk";
$result = mysql_query($query) or die(mysql_error());
$myFile = 'sitemap-sk.txt';
$myContent ="";
while($row = mysql_fetch_array($result)){
$myContent .= "<url><loc>/".$row['id']."-".$row['company_name'].".html</loc>
<changefreq>monthly</changefreq></url>\n\r";
}
file_put_contents($myFile, $myContent);
?>
尝试将此数据写入sitemap-sk.txt
但没有运气
答案 0 :(得分:0)
试试这个,我认为它有效:
$myFile = 'sitemap-sk.txt';
$fp=fopen($myFile,'a+')
while($row = mysql_fetch_assoc($result)){
fwrite( $fp, "<url><loc>/".$row['id']."-".$row['company_name'].".html</loc><changefreq>monthly</changefreq></url>\n\r");
}
fclose($fp);
编辑: 试试这个并向我说结果:
while($row = mysql_fetch_assoc($result)){
$content[] = "<url><loc>/".$row['id']."-".$row['company_name'].".html</loc><changefreq>monthly</changefreq></url>\n\r";
}
var_dump($content);
答案 1 :(得分:0)
在没有MySQL部分的情况下尝试代码在mi情况下完美无缺。 那就是:
$myFile = 'sitemap-sk.txt';
$myContent ="some test content";
file_put_contents($myFile, $myContent);
由于你提到的行为,我认为你可能有MySQL问题。 让我解释一下:你已经在每个有MySQL语句的行中放了 ...或者死(mysql_error()); 。如果遇到错误,这会导致脚本在没有输出的情况下突然终止。因此,该脚本实际上从不从数据库中获取数据。
您应该调试导致 die()触发的行。 我建议你删除 ...或死(mysql_error()); 调用并使用类似的东西(从我的头脑中):
if ($result = mysql_query($query)) {
do stuff
}
else {
echo "query error\n";
echo mysql_error();
}
干杯,