1
我有一个旧的PHP应用程序,我试图找出为什么我无法导出为CSV。PHP:将sql数据导出为CSV
在页面里显示的页面下面的链接将显示导出为CSV的SQL数据:
<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");
?>
寻找因为我对PHP还很陌生。
'$ table = $ tablename'应该是'$ table = $ _ GET ['tablename']'因为'register_globals_gpc'已关闭,但是这会打开一个全新的SQL注入蠕虫罐,因为它被用于查询。 http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1 – AbraCadaver
@AbraCadaver谢谢,刚进入这个应用程序。 CSV确实已经创建,但我没有得到我期望的。 – Jason
'require'行包含/ exportcsv.inc.php';'include?那么'exportMysqlToCsv($ table,$ sql_query)'这行呢?我们看不到这些,所以我们不知道发生了什么。 – Mike