gpt4 book ai didi

php - 使用php将csv文件导入数据库

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

我正在尝试将 csv 文件导入数据库而不定义任何行,因为页面加载时它将自动导入 -

$file = '../csv/file.csv';
$table = 'table_name';

// get structure from csv and insert db
ini_set('auto_detect_line_endings',TRUE);
$handle = fopen($file,'r');
// first row, structure
if ( ($data = fgetcsv($handle) ) === FALSE ) {
echo "Cannot read from csv $file";die();
}
$fields = array();
$field_count = 0;
for($i=0;$i<count($data); $i++) {
$f = strtolower(trim($data[$i]));
if ($f) {
// normalize the field name, strip to 20 chars if too long
$f = substr(preg_replace ('/[^0-9a-z]/', '_', $f), 0, 255);
$field_count++;
$fields[] = $f.' VARCHAR(255)';
}
}

$sql = "CREATE TABLE $table (" . implode(', ', $fields) . ')';

$conn->query($sql);
while ( ($data = fgetcsv($handle) ) !== FALSE ) {
$fields = array();
for($i=0;$i<$field_count; $i++) {
$fields[] = '\''.addslashes($data[$i]).'\'';
}
$sql = "Insert into $table values(" . implode(', ', $fields) . ')';

$conn->query($sql);

}
fclose($handle);
ini_set('auto_detect_line_endings',FALSE);

如果我回显它,它会将数据加载到页面中,并且它会正确创建表格,只是不会将数据加载到表格中,我无法找出原因..

谢谢!

已更新

这是我在 echo $sql 时得到的第一行 -

Insert into 1001_inventory values('New', '581613', '88888888888888888', '2016', 'Toyota')

最佳答案

所以我发现 varchar(255) 对于某些字段来说太小,所以我扩展了它,问题解决了,感谢所有帮助!

关于php - 使用php将csv文件导入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40749369/

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