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'命令的其餘部分連接起來。 –