0
function exportToCsv() {
$dbh = new PDO('pgsql:'
. (env('DB_DATABASE') ? ';dbname='.env('DB_DATABASE') : '')
. (env('DB_HOST') ? ';host='.env('DB_HOST') : '')
, env('DB_USERNAME')
, env('DB_PASSWORD')
);
$dbh -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$sth = $dbh->prepare('COPY (select * from ?) TO \'/tmp/report.csv\' DELIMITER \',\' CSV HEADER;');
$sth -> execute(['stats']);
};
我有错误后,执行该代码PDO PostgreSQL的COPY
PDOStatement::execute(): SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "$1"
LINE 1: COPY (select * from $1) TO '/tmp/report.csv' DELIMITER ',' C...
我使用laravel,和我尝试执行参数拷贝查询。
1)为什么? 2)好的 我想执行复杂的查询与COPY中的许多条件。这是最好的办法吗? Laravel查询生成器和PDO不适合这种情况? – chmax
广告“为什么”:因为很少有人想要用不同的参数执行相同的“COPY”语句,这是准备语句的主要用例。 Ad Laravel查询生成器:我不知道,它可以用来组成查询字符串吗?如果是的话,你可以构造一个SQL查询并将其与你需要的'COPY'命令的其余部分连接起来。 –