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);
}
?>
이하이어야한다, 먼저 foreach 루프를 추가 한 이유를 얻을 수 아니에요 행 = mysql_fetch_assoc ($ sql))'. 그것은 아마도 루프를 취소하고'$ row'의 값을 다시 정의하지 않을 것입니다. 이것은 오래된 배열을 사용한다는 것을 의미합니다. – Death
var_dump는 무엇이라고 말합니까? – xdazz
while 루프 문 끝에서';'가 문제입니다. while 루프의 블록을 완료합니다. – vedarthk