亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

pg_copy_from() 輸入的數組格式是什么?

pg_copy_from() 輸入的數組格式是什么?

PHP
滄海一幻覺 2023-10-15 17:13:32
我正在嘗試使用 PHP 將許多歷史數據的 CSV 文件加載到 PGSQL 服務器。我注意到 PHP 提供了pg_copy_from()將本地數據加載到遠程服務器的功能,但輸入的確切格式很模糊。該文檔表示它需要一個行數組,每行都是該行中值的分隔字符串。PHP 的file()函數以所描述的格式返回一個數組,但將其輸入 pg_copy_from() 會返回錯誤:$rows = file('path/to/data.csv', FILE_IGNORE_NEW_LINES); // Same result without ignore_new_linespg_copy_from($db, 'dest_table', $rows, ',');'PHP Warning:  pg_copy_from(): Copy command failed: ERROR:  invalid input syntax for integer: ""col_2""'我檢查了數組,$rows它的格式如下:[index]=>""foo",3,7,"bar",500,"z""其中所有字符串值和字符串本身都用雙引號引起來。我假設它試圖將整個字符串加載到我的表的第一列中,因此出現 col_2 無法加載的錯誤(因為沒有任何內容可加載)。我對數組的假設是否錯誤,或者分隔字符串是否需要不同的格式(如果需要,如何)?感謝您的任何幫助/提示!
查看完整描述

1 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

只需刪除數組的第一個元素$rows,因為它包含標題。array_shift可以使用刪除數組的第一個元素而不反轉數組:


$rows = file('path/to/data.csv', FILE_IGNORE_NEW_LINES);

array_shift($rows);

pg_copy_from($db, 'dest_table', $rows, ',');


查看完整回答
反對 回復 2023-10-15
  • 1 回答
  • 0 關注
  • 119 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號