ファイルからテーブルをロードしようとしていますが、問題があります。以下のコードは、既存のデータベースを取得して一時テーブルにコピーし、元のデータベースを .csv ファイルからインポートしたデータに置き換えようとしています。この 2 つのテーブルを比較する作業は他にもあります。一時的なもの。(これを別の方法で行う必要がある場合は、ヒントを歓迎します)。エラーが発生します:
'SQLSTATE[HY000]: 一般エラー: 2014 他のバッファリングされていないクエリがアクティブな間は、クエリを実行できません。PDOStatement::fetchAll()... の使用を検討してください。
同様の質問からの提案の多くを試しましたが、まだ解決していません。ご協力いただきありがとうございます!これが私のコードです:
<?php
//database connection
$data_source = 'mysql:host=localhost;dbname=myDB';
$db_user = 'root';
$db_password = 'pass';
$conn = new PDO($data_source, $db_user, $db_password,
array(PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_PERSISTENT));
if ( isset($_GET['submit']) ){
$stmt = $conn->prepare("CREATE TEMPORARY TABLE mfsw_dupe AS SELECT * FROM mfsw_test");
$stmt->execute();
$stmt = $conn->prepare("TRUNCATE mfsw_test");
$stmt->execute();
$stmt = $conn->prepare("LOAD DATA LOCAL INFILE 'C:\\xampp\htdocs\assets\mfsw_test.csv' INTO TABLE mfsw_test
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES");
$stmt->execute();
}
?>