我一直在嘗試使用LOAD DATA INFILE將csv文件導入到mysql數據庫中。LOAD DATA INFILE - 顯示導入的行數給出錯誤的值
一切正常或多或少正常工作,但是當我使用mysqli_info()或mysqli_affected_rows()時,它們都顯示沒有任何行被導入查詢。即使我看到行正確導入。
的簡化版本的什麼,我試圖做(少列,我居然進口):
$server = 'localhost';
$username = 'root';
$password = 'password123';
$database = 'database_name';
$connect = new mysqli($server, $username, $password, $database);
$files = scandir('imports/');
foreach($files as $file) {
$import =
"LOAD DATA INFILE 'imports/$file'
IGNORE INTO TABLE table_name
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(@id, @name, @address, @product)
set [email protected], [email protected], [email protected], [email protected]";
if(! $connect->query($import)) {
echo 'Failed';
}
$connect->query($import);
echo mysqli_affected_rows($connect);
}
mysqli_affected_rows()返回0,而mysqli_info()規定的所有行被跳過。任何想法爲什麼它不能正確顯示?
希望這是足夠的信息。謝謝!
編輯:
我已經有點忙不過來,在過去幾天裏在這方面努力,但我已經決定了,雖然沒有具體回答導入到一個臨時表中的我的問題德魯的答案首先似乎是最有意義的,所以我決定採取這種做法。
嘗試:回聲$連接 - > affected_rows; –
並且... *是*加載的數據? –
$ connect-> affected_rows;什麼都沒顯示 – Edward144