在我的网站管理员登录时,我希望他能够将phpmyAdmin中的表格导出到Excel工作表。我能够通过phpMyAdmin中的导出按钮手动完成,但我希望能够使用SQL语句执行此操作。 这是我第一次尝试并查看exporting-table-structure-to-excel-files-with-phpmyadmin和phpmyadmin-exporting-to-csv-for-excel
之后我写了以下代码。
if($level==1){
echo "<br>";
$q9=" SELECT * INTO OUTFILE 'C:\xampp\htdocs\excelsheet1.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ''
LINES TERMINATED BY '\n'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE('db1') AND TABLE_NAME ='tb1'";
$s9=mysql_query($q9,$connect) or die("couldn't export values");
}
我在C:\xampp\htdocs
中创建了一个名为excelsheet1.csv
的空白.csv fie。但是,当我运行此代码时,它会给出错误couldn't export values
并且有一个空白的Excel表格。在PHP语句中如何在SELECT中编写OPTIONALLY ENCLOSED BY '"'
,因为如果我在SELECT中使用"
,我会收到语法错误。如何将tb1中的值导出到excelsheet1.csv
答案 0 :(得分:0)
您编写的代码仅限PHP,不适用于phpMyAdmin(用于管理MySQL数据库的管理GUI界面),因此您可能会根据一些误导性关键字进行搜索。
我建议您首先尝试从命令行客户端运行该SQL语句 - 它是否按预期工作?如果您在没有CSV导出部分的情况下运行查询,它是否显示您期望的输出?
您的查询对我来说很奇怪,我不确定DATABASE('db1')
部分 - 您正在调用MySQL函数DATABASE
但我不认为它需要任何参数,所以“db1”部分被忽略或发出警告或错误。我没有看到您设置了默认数据库,因此该函数可能仍然返回NULL。
在TABLE_NAME ='tb1'
部分中,你应该使用像`而不是像'
回到PHP方面,在您的错误检测代码中,您可以从MySQL打印错误消息以更好地了解问题所在。
最后,与你的问题无关,mysql函数已被折旧,建议你切换到pdo或mysqli。