• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バルクインサートに関して)

mysqliを使ってバルクインサートを行う方法

このQ&Aのポイント
  • mysqliを使用して可変のデータ量を持つバルクインサートを行いたいです。
  • 現在のコードでは1件ずつのインサートを行っており、可変時の変数の指定方法がわかりません。
  • どのようにすればバルクインサートを効率的に実行できるのか、ご助言頂けると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.1

SQL文に複数行用のplace holder を記述するなら str_repeat を使えばいい -- 簡略化記述例、(?,?,?) のところを実際の行カラム数に合わせるとよい $sql = 'insert into `tbl` values (?,?,?)'. str_repeat(count($obj[0])-1 , ', (?,?,?)' ) ; しかし、bind_param に与える引数の方は配列ではなく、該当個数の記述がいるので、一行増えるごとに引数の個数を換えて呼び出すような対応が必要になる。 よって、御記載のように一行ずつinsert していく方がプログラム的には面倒がない。実行時間的にどっちがよいかは不明だけど。 bind関連は、PDOの方が融通が利くんですけどね。

関連するQ&A

専門家に質問してみよう