0
問題是LOAD DATA LOCAL INFILE在phpmyadmin中起作用,但是當我在php中嘗試時發生致命錯誤。LOAD DATA LOCAL INFILE給出了致命錯誤,但在phpmyadmin中工作
在phpmyadmin我的路線是這樣的。
LOAD DATA LOCAL INFILE 'e:/sam.csv' INTO TABLE `test` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' (`aa`, `bb`, `cc`)
並且在大約3秒內插入了200000行。 在PHP中我嘗試這樣做:
$dbname="test";
$db = new mysqli('localhost','root','',$dbname);
mysqli_set_charset($db, 'utf8');
if($db->connect_errno){
die('There is a problem connecting.');
}
echo "Starting";
$query="LOAD DATA LOCAL INFILE 'e:/sam.csv' INTO TABLE `test` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' (`aa`, `bb`, `cc`)";
$stmt = $db->prepare($query);
echo '<br>'.$query;
$stmt->execute();
if (!$stmt) {throw new Exception($db->error);}
echo "Ending";
不幸的是這每一次給了我一個致命的錯誤。 有一張名爲test
的表格,字段名稱正確。
的錯誤是
Fatal error: Call to a member function execute() on a non-object
如果錯誤地拼寫一個表名或列通常會出現這個錯誤,所以我不明白這一點。
任何幫助,將不勝感激。
'echo $ db-> error;'或者'echo $ stmt-> error;'在execute()之前。是'e:'映射驅動器嗎?令人懷疑的是,網絡服務器用戶已將其映射。 – AbraCadaver
迴應該錯誤不會提供給我更多信息。我順便試了兩次。我仍然得到致命的錯誤。 E是文件的路徑,它在phpmyadmin中工作,但不在php中。我正在使用wampserver btw。我也在同一個位置嘗試過這個文件,沒有E :,但無濟於事 –