向所有随时为我们提供帮助的好心人您好。 我需要使用 php 将 csv 文件导入到 mysql。 我到目前为止的代码如下:
步骤: 进行所有相应的验证。 建立 mysql 连接。
//process the csv file
$handle = fopen($_FILES['file']['tmp_name'], "r");
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$att0 = mysql_real_escape_string($data[1]);
$att1 = mysql_real_escape_string($data[1]);
$att2 = mysql_real_escape_string($data[2]);
etc, etc.
$sql = "INSERT INTO Alumnos etc, etc.";
mysql_query($sql);
错误: 注意:第 58 行 D:\www\studentAdministrator\imports\importar1.php 中未定义偏移量:1
我将不胜感激任何帮助。提前致谢。
我解决了我的问题。我把分号改成了逗号 我很欣赏已经发布的答案
最佳答案
正如我在评论中所说,这可能是由于导出末尾有空白单元格的行引起的。某些实用程序会在最后一个单元格之后结束该行,而不是放入适当数量的分隔符。检查您的文件,如果这是问题所在,您可以在脚本中添加一些逻辑来处理它 - 在尝试使用每个索引之前检查 isset()
,如果它不存在,请替换为空字符串(或 null,或文件中其他位置用于空单元格的任何内容)。
关于php - 如何解决使用 PHP 读取 csv 文件时 undefined offset ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11698140/