• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:LOAD DATA INFILE の使用について)

LOAD DATA INFILEの使用について

このQ&Aのポイント
  • LOAD DATA INFILEを使用したデータベースへのCSVファイルの登録に関するエラーについて調査しました。
  • 一般ユーザーではLOAD DATA INFILEを使用することはできないため、代替手段が必要です。
  • レンタルサーバーを使用している場合、LOAD DATA INFILEを使用することは制限されています。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5268/13765)
回答No.2

> これはどのように作るのでしょうか? 私が作るならこんな感じ。 <?php $dsn = 'mysql:dbname=mydata;host=localhost'; $user = 'user'; $password = 'password'; if (($fp = fopen("data.csv", "r")) !== FALSE) { $dbh = new PDO($dsn, $user, $password); $stmt1 = $dbh->prepare("INSERT INTO mydata (column1,column2,column3) VALUES (:DATA1,:DATA2,:DATA3)"); while (($data = fgetcsv($fp)) !== FALSE) { $stmt1->bindValue(':DATA1', $data[0]); $stmt1->bindValue(':DATA2', $data[1]); $stmt1->bindValue(':DATA3', $data[2]); $stmt1->execute(); } fclose($fp); unset($dbh); } ?> PHPのいいところは公式サイトのリファレンスが充実していることです。 頑張って意味は調べてみてください。 http://www.php.net/manual/ja/function.fopen.php http://www.php.net/manual/ja/function.fgetcsv.php http://www.php.net/manual/ja/book.pdo.php

mittyu3
質問者

お礼

コードまで書いて頂きありがとうございました。 頂いたコードを流用して無事にアップロードすることが出来ました。 PDOというのは初めて知りましたが、今後も勉強して使っていきたいと思います。 また、参考サイトも大変ためになりました。 一点わからないのですが、$stmt1 というのは何かの略なんでしょうか?

その他の回答 (2)

  • t_ohta
  • ベストアンサー率38% (5268/13765)
回答No.3

> 一点わからないのですが、$stmt1 というのは何かの略なんでしょうか? PDOStatementのインスタンスを入れているので、ステートメントの1個目という意味で使ってます。 複数のSQL文を同じループの中で使う時1個目、2個目と定義しておいて使い分ける事があるので、私はそんな感じで変数名を付けてます。

mittyu3
質問者

お礼

ご親切にありがとうございます! なるほど!ステートメントの一つ目という意味なんですね。 大変勉強になりました。

  • t_ohta
  • ベストアンサー率38% (5268/13765)
回答No.1

PHPを使っているので有れば、PHPでCSVファイルを開いてMySQLにINSERTするプログラムを作ればいいだけでは。

mittyu3
質問者

補足

回答どうもありがとうございます。 初心者なのですが、 >PHPでCSVファイルを開いてMySQLにINSERTするプログラムを作ればいいだけでは。 これはどのように作るのでしょうか?

関連するQ&A

専門家に質問してみよう