電子書籍の厳選無料作品が豊富!

質問をお願いします。

PHPからCSVをアップロードして、同時にmysqlに登録しようと思っていますが、
うまくいきません。データーベースに接続しているのですが、
テーブルを指定しても、うまくいかなく困っています。

現在、下記のプログラムはテーブルを指定していません。

テーブル指定して作成方法を教えていただければ助かります。

PHPが詳しい方、よろしくお願いします。


<?php
// データベース接続情報
$dsn = "mysql:host=〇〇〇;dbname=〇〇〇;charset=utf8mb4";
$username = "〇〇〇";
$password = "〇〇〇";

// PDOオブジェクトの作成とオプション設定
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false
);

try {
$pdo = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
die("接続失敗:" . $e->getMessage());
}
?>

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (2件)

MySQL データベースに接続しましょう


https://www.php.net/manual/ja/pdo.connections.php

MySQL データベースに登録するデータ操作用 SQL を用意しましょう
https://dev.mysql.com/doc/refman/8.0/ja/insert.h …
例)
$sql = "insert into テーブル名 values ('値1', '値2')";

MySQL データベースへ SQL を発行するトランザクションを実行しましょうhttps://www.php.net/manual/ja/pdo.transactions.php
例)
$dbh->beginTransaction();
$dbh->exec($sql);
$dbh->commit();

大量データを登録するなら SQL をパラメーター化して効率化しましょう
https://www.php.net/manual/ja/pdo.prepared-state …
例)
$sql = "insert into テーブル名 values (?, ?)";
    • good
    • 0

// CSVファイルを1行ずつ読み込み、データベースに挿入


while (($data = fgetcsv($file)) !== false) {
// $data 配列の各要素にアクセスし、適切な変数に代入
// 例: $data[0] は1列目のデータ、$data[1] は2列目のデータ
$column1 = $data[0];
$column2 = $data[1];
// 他の列も同様に

// INSERT文を準備
$stmt = $pdo->prepare("INSERT INTO テーブル (column1, column2) VALUES (:column1, :column2)");
$stmt->bindParam(':column1', $column1);
$stmt->bindParam(':column2', $column2);
// 他の列も同様にバインド

// SQLを実行
$stmt->execute();
}

fclose($file);

byGPT
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!