我正在編寫一個腳本來將MySQL查詢導出爲CSV文件。迄今爲止,除了第二個foreach()
聲明中有一個無效參數!我試圖使用mysql_data_seek
但這並沒有解決問題。 AFAK $row
是一個數組,所以它應該工作。你能發現foreach()錯誤的來源嗎?
<?php
$conn = mysql_connect("12**strong text**7.0.0.1", "root", "root") or die(mysql_error());
mysql_select_db("database", $conn);
if(isset($_POST['submit']))
{
$filename = 'uploads/'.strtotime("now").'.csv';
$fp = fopen($filename,"w");
$sql = mysql_query("SELECT * FROM master") or die(mysql_error());
$row = mysql_fetch_assoc($sql);
$seperator = "";
$comma = "";
foreach($row as $name => $value)
{
$seperator .= $comma . '' .str_replace('','""',$name);
$comma = ",";
}
$seperator .= "\n";
fputs($fp,$seperator);
mysql_data_seek($sql, 0);
while($row = mysql_fetch_assoc($sql));
{
$seperator = "";
$comma = "";
foreach($row as $name => $value)
{
$seperator .= $comma . '' .str_replace('','""',$value);
$comma = ",";
}
$seperator .= "\n";
fputs($fp,$seperator);
}
fclose($fp);
}
?>
我不知道';'應該有後'而($ row = mysql_fetch_assoc($ sql))'。這可能會取消循環,而不是重新定義「$ row」的值,這意味着它使用舊數組。 – Death
var_dump說什麼? – xdazz
';'while循環語句的末尾是問題所在。它完成了while循環的塊。 – vedarthk