簡體   English   中英

使用 PHP 在 MySQL 中導入 csv 文件

[英]Import csv file in MySQL using PHP

我有一個包含以下數據的 CSV 文件,我想將其上傳到 Mysql 數據庫

BGYR002217;FK-066 BGYR002218;FK-140

我收到這個錯誤:

警告:未定義的數組鍵 2 在 C:\\xampp\\htdocs\\test\\import.php 第 21 行 SQLSTATE[42000]:語法錯誤或訪問沖突:1064 您的 SQL 語法有錯誤; 檢查與您的 MariaDB 服務器版本相對應的手冊,在第 1 行警告:C:\\xampp\\htdocs\\test\\import.php 中第 21 行的“未定義數組鍵 1”附近使用正確的語法

我的代碼:

$dbHost = 'localhost';
$dbName = 'test';
$dbChar = 'utf8';
$dbUser = 'root';
$dbPass = '';
try {
  $pdo = new PDO(
    "mysql:host=".$dbHost.";dbname=".$dbName.";charset=".$dbChar,
    $dbUser, $dbPass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
  );
} catch (Exception $ex) { exit($ex->getMessage()); }
 
$fh = fopen($_FILES["upcsv"]["tmp_name"], "r");
if ($fh === false) { exit("Failed to open uploaded CSV file"); }
 
while (($row = fgetcsv($fh)) !== false) {
  try {

    $stmt = $pdo->prepare("INSERT INTO users (szam, forras_szam) VALUES (?;?)");
    $stmt->execute([$row[0], $row[1]]);
  } catch (Exception $ex) { echo $ex->getmessage(); }
}
fclose($fh);
echo "DONE.";
?> ```

你在這一行有一個錯誤:

$stmt = $pdo->prepare("INSERT INTO users (szam, forras_szam) VALUES (?;?)");

它應該是:VALUES (?,?) 而不是 VALUES (?;?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM