2017-01-19 7 views
1

なぜ私はもうCSVに書き出すことができないのか理解しようとしている古いPHPアプリケーションがあります。PHP:sqlデータをCSVにエクスポート

<p class="content_text"><strong><a href="export.php?tablename=PrivateActs109">Export to Excel</a></strong></p> 

そしてexport.phpファイル全体:探し

<?php /* ########## Connect to Database ########## */ 

require_once('../Connections/dbConnect_acts.php'); 
mysql_select_db($database_dbConnect, $dbConnect) or die ("no luck") ; 



// Export to CSV 
require '../includes/exportcsv.inc.php'; 
$table=$tablename; // this is the tablename that you want to export to csv from mysql. 
$sql_query = "SELECT `ChapterNumber`, `Subject`, `Abstract` , `BillNumber` FROM $tablename "; 
exportMysqlToCsv($table,$sql_query); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");header("Content-Length: " . strlen($out)); 
// Output to browser with appropriate mime type, you choose ;) 
//header("Content-type: text/x-csv"); 
//header("Content-type: text/csv"); 
header("Content-type: application/csv"); 
header("Content-Disposition: attachment; filename=$filename"); 

?> 

SQLデータをページ上に表示され、次のリンクがCSV形式にエクスポートするために表示されるページで

私はPHPにまだまだ慣れていないからです。

+1

'$ table = $ tablename'は' register_globals_gpc'がオフであるため '$ table = $ _ GET ['tablename']'にする必要がありますが、これはSQLインジェクションの新しい虫をまったく開きません。クエリ。 http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1 – AbraCadaver

+0

@AbraCadaverありがとう、ちょうどこのアプリに入る。 CSVは作成されますが、私が期待しているものは得られません。 – Jason

+0

'require '../という行には/ exportcsv.inc.php';が含まれていますか? 'exportMysqlToCsv($ table、$ sql_query);という行は何をしますか?私たちはこれらを見ることができないので、何が起こっているのか分からない。 – Mike

答えて

0

は、私は次のように$表を変更すること巻き上げる:提案のため

$table=$_GET['tablename']; 

おかげで、それがレガシーアプリであり、私はそれに取り組んでからPHPについて多くのことを学びました。

関連する問題