我可以輸出CSV發送了頭完全當$values = mysql_query("SELECT * FROM ".$table."");
未定義偏移和警告:不能更改頭信息 - 已經
然而,當我嘗試選擇我有,例如特定的列
$values = mysql_query("SELECT email, status FROM ".$table."");
我收到以下錯誤
注意:未定義抵消:1(推移,直至N-1場我有)警告: 不能更改頭信息 - 頭ALR伊迪發送的
請問你們?
我可以輸出CSV發送了頭完全當$values = mysql_query("SELECT * FROM ".$table."");
未定義偏移和警告:不能更改頭信息 - 已經
然而,當我嘗試選擇我有,例如特定的列
$values = mysql_query("SELECT email, status FROM ".$table."");
我收到以下錯誤
注意:未定義抵消:1(推移,直至N-1場我有)警告: 不能更改頭信息 - 頭ALR伊迪發送的
請問你們?
這不是頭文件已經發送的問題。這個錯誤只是另一個錯誤的結果。
當然,錯誤消息會導致標題被髮送。
但修復錯誤,這兩條消息都將消失。
儘管如此,「未定義抵消」的錯誤是第二#2最流行的問題。儘管這很可能是由另一個錯誤導致的。
很可能你使用舊的醜陋mysql_result()
來獲取mysql數據。
並且不檢查mysql錯誤。
做你的MySQL這樣
$sql = "SELECT email, status FROM ".$table;
$res = mysql_query($sql) or trigger_error(mysql_error(),"[$sql]");
while ($row = mysql_fetch_array()) {
echo $row['name']; // assuming "name" field in the data
}
注意:未定義抵消:1
是這裏真正發生的唯一的錯誤。如果這樣的:
$values = mysql_query("SELECT email, status FROM ".$table."");
失敗和:
$values = mysql_query("SELECT * FROM ".$table."");
成功,這是最有可能的,你是拼寫領域名字寫錯了,因此查詢失敗,返回非陣列資源像false
。
警告:不能更改頭信息 - 已經
發送的只是被打印出來的第一個錯誤的結果頭。
http://stackoverflow.com/questions/8028957/headers-already-sent-by-php – 2013-02-26 11:59:58
發佈更多驗證碼。您使用哪個函數來「獲取」這些值? – 2013-02-26 12:00:00
那些字段是否存在於該表中?如果mysql拋出一個錯誤,導致頭文件被修改,並且沒有生成CSV – Husman 2013-02-26 12:00:01