나는 다음과 같은 스크립트를 통해 CSV 파일에 값을 삽입하려고내 스크립트에 어떤 문제가 있습니까?
<?php
require_once '../config.php';
$month = $_GET['month'];
$sq="select * from employee where month ='$month'";
$sql=mysql_query($sq);
$row = array();
$row[] = 'Employee Code';
$row[] = 'Employee Name';
$row[] = 'DOJ';
$data .= join(',', $row)."\n"; // Join all values without any trailing commas
$row = array(); // We must clear the previous values
while($rs = mysql_fetch_object($sql))
{
$row[] = $rs->employee_code;
$row[] = $rs->employee_name;
$row[] = $rs->emp_dateofjoin;
$row[] = "\n";
}
$data .= join(',', $row);
// Output the headers to download the file
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=test.csv");
header("Pragma: no-cache");
header("Expires: 0");
echo $data;
?>
값이 추가됩니다 .. ... 스크립트는 잘 작동하지만, 출력에, 값이 제대로 순서로 정렬되지 않습니다 csv 파일에서 행 시작 부분에 빈 셀이 하나 있습니다. 첫 번째 행을 제외하고
귀하의 스크립트는 현재 SQL 주입 공격에 취약합니다. http://www.php.net/manual/en/mysqli.real-escape-string.php 또는 유사한 것으로'$ _GET [ 'month']'를 탈출해야합니다. –
실제 csv 출력 (예 : 3-5 줄)의 몇 줄과 예상 출력을 추가 할 수 있습니다. 그렇게하면 무엇이 잘못되었는지를 알아 내고 코드를 파고 왜 잘못되었는지 말하기가 더 분명합니다. –