gpt4 book ai didi

php - 使用 PHP 和 MySQLi 导入 CSV 替代方法

转载 作者:行者123 更新时间:2023-11-29 10:59:51 25 4
gpt4 key购买 nike

我正在使用下面的代码将 CSV 文本文件导入到我的表中,但我的新主机不允许 LOAD DATA 命令,并迫使我寻找导入文件的替代方法。当然,他们无法给我明确的答案。

除了 LOAD DATA LOCALLOAD DATA 之外,我还必须通过 PHP/MySQLi 将 CSV 文件导入到我的 MySQL 表中吗?

  // Query - import CSV file into DB, ignore top 3 lines
$sql= "LOAD DATA LOCAL INFILE '".$import_file."' INTO TABLE `$dbtable`
FIELDS TERMINATED BY '".$fieldseparator."'
LINES TERMINATED BY '".$lineseparator."'
IGNORE 3 LINES
SET TIMESTAMP = '".$local_time."'";

谢谢

编辑:

在研究了建议的 fgetcsv 函数后,我想出了下面的代码。从理论上讲,它应该可以工作,但代码似乎会加载直到最终超时而不显示错误。数据库仅填充单行条目。

我在这里做错了什么?

                if ($import_file) {
// set row counter to 0
$line = 0;

while ( ($row = fgetcsv($import_file)) !== false ) {

// ignore the first 3 rows of the file based on iteration of the counter
if ($line <= 3) {
$line++;
continue;
} else {

// if row count is higher than 3, insert into database
$sql = "INSERT INTO `$dbtable`
(`OPERA_CONF`, `CRS`, `HOLIDEX`, `ARRIVAL`)
VALUES (
'" . $row[0] . "',
'" . $row[1] . "',
'" . $row[2] . "',
'" . $row[3] . "'
)";

// execute query
$mysqli->query($sql);
$line++;

}

}

} else {
echo "\n CSV file could not be found.";
}

最佳答案

您必须使用 PHP 逐行读取 CSV 文件的内容并将它们插入到表中。

看看http://www.readmyviews.com/import-csv-data-mysql-using-php/

将代码粘贴到此处以便于使用:

$filepath = "C:\wamp\www\importdata\sample.csv"; 

if (($getdata = fopen($filepath, "r")) !== FALSE) {
fgetcsv($getdata);
while (($data = fgetcsv($getdata)) !== FALSE) {
$fieldCount = count($data);
for ($c=0; $c < $fieldCount; $c++) {
$columnData[$c] = $data[$c];
}
$option_name = mysqli_real_escape_string($connect ,$columnData[0]);
$option_value = mysqli_real_escape_string($connect ,$columnData[1]);
$import_data[]="('".$option_name."','".$option_value."')";
// SQL Query to insert data into DataBase

}
$import_data = implode(",", $import_data);
$query = "INSERT INTO option_data_master(option_name,option_value) VALUES $import_data ;";
$result = mysqli_query($connect ,$query);

关于php - 使用 PHP 和 MySQLi 导入 CSV 替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42453997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com