为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用php导入具有复制功能的csv

如何使用php导入具有复制功能的csv

PHP
繁花不似锦 2021-10-22 16:48:51
我需要将一个 csv 文件导入到我的数据库中。我首先在 SQL 中编写了该函数,但现在我需要在 php 中完成它,我不想更改我的整个代码,所以我只是想我可以用 php 执行 SQL 查询,但出现错误。    $query="COPY bet_import FROM $1 DELIMITER ',' CSV HEADER";    $result = pg_prepare($dbh, "", $query);    $result = pg_execute($dbh, "",array('bet.csv'));我收到错误:错误:警告:pg_prepare():查询失败:错误:“$1”处或附近的语法错误第 1 行:COPY bet_import FROM $1 DELIMITER ',' CSV HEADER
查看完整描述

1 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

您不能在准备语句中绑定标识符(表名、字段名)。您需要将其添加到查询中。如果您是动态获取它,则可以在运行查询之前对其进行转义或清理。在您的查询中,文件路径是一个标识符。


$filePath = 'bet.csv';

$query="COPY bet_import FROM '$filePath' DELIMITER ',' CSV HEADER";

$result = pg_prepare($dbh, "", $query);

$result = pg_execute($dbh, "",array());

您必须在查询本身中传递文件名。此查询将在 postgresql 上运行,因此您需要指定文件的绝对路径。如果此文件与您的 php 代码放在相同的代码中,那么您还需要指定绝对路径。


查看完整回答
反对 回复 2021-10-22
  • 1 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信