PHP Sql语句从MySQL导出表数据

时间:2015-05-24 10:12:30

标签: php mysql excel csv

在我的网站管理员登录时,我希望他能够将phpmyAdmin中的表格导出到Excel工作表。我能够通过phpMyAdmin中的导出按钮手动完成,但我希望能够使用SQL语句执行此操作。 这是我第一次尝试并查看exporting-table-structure-to-excel-files-with-phpmyadminphpmyadmin-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

1 个答案:

答案 0 :(得分:0)

您编写的代码仅限PHP,不适用于phpMyAdmin(用于管理MySQL数据库的管理GUI界面),因此您可能会根据一些误导性关键字进行搜索。

我建议您首先尝试从命令行客户端运行该SQL语句 - 它是否按预期工作?如果您在没有CSV导出部分的情况下运行查询,它是否显示您期望的输出?

您的查询对我来说很奇怪,我不确定DATABASE('db1')部分 - 您正在调用MySQL函数DATABASE但我不认为它需要任何参数,所以“db1”部分被忽略或发出警告或错误。我没有看到您设置了默认数据库,因此该函数可能仍然返回NULL。

TABLE_NAME ='tb1'部分中,你应该使用像`而不是像'

这样的单引号的反引号

回到PHP方面,在您的错误检测代码中,您可以从MySQL打印错误消息以更好地了解问题所在。

最后,与你的问题无关,mysql函数已被折旧,建议你切换到pdo或mysqli。