gpt4 book ai didi

php - 查询中单独的 CSV 导入字段

转载 作者:行者123 更新时间:2023-11-29 14:28:25 24 4
gpt4 key购买 nike

我会将 csv 加载到 MySQL 中并管理单个字段。原始代码使用自动 VALUES('','$linemysql'); 上传内容。如何分隔字段?我想查询如下:

$sql = "INSERT IGNORE INTO `database`.`table` (`field1`,field2`, `field3`, `field4`, `field5`) VALUES(`csvfield1`,csvfield2`, `csvfield3`, `csvfield4`, `csvfield5`);";

这是因为我可以管理将包含哪一行

$lines = 0;
$queries = "";
$linearray = array();

$allLines = split($lineseparator,$csvcontent);
array_shift($allLines); // removes the 1st element

foreach($allLines as $line) {

$lines++;

$line = trim($line," \t");

$line = str_replace("\r","",$line);

/************************************
This line escapes the special character. remove it if entries are already escaped in the csv file
************************************/
$line = str_replace("'","\'",$line);
/*************************************/

$linearray = explode($fieldseparator,$line);

$linemysql = implode("','",$linearray);

if($addauto)

/* Change This query VALUES('','$linemysql'); */

$query = "INSERT IGNORE INTO `database`.`table` (`field1`,field2`, `field3`, `field4`, `field5`) VALUES('','$linemysql');";

else
$query = "insert into $databasetable values('$linemysql');";

$queries .= $query . "\n";

最佳答案

使用 PHP 的内置 CSV 功能,包括 fgetcsv() 。来自文档:

<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>

关于php - 查询中单独的 CSV 导入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10497828/

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