我正在尝试通过CSV上传将数据添加到2个不同的MySql表中。我已经能够检索信息并将部分信息上传到一个表,但是在将数据发送到第二个表时遇到问题。我想出了以下代码:
$i = 0;
//Loop through the csv file
do {
if ($data[0]) {
//Store request information
//Info for Request Table
$requester_email = $data[0];
$requester_name = $data[1];
$client_name = $data[2];
$client_country = $data[3];
$opportunity_number = $data[4];
$machine_quantity = $data[5];
$severity = $data[6];
//Store machine values
//Info for Serial Numbers Table
$serialType = array();
$serialModel = array();
$serialType[$i] = $data[7];
$serialModel[$i] = $data[8];
}
$i++;
} while ($data = fgetcsv($handle,1000,",","'"));
我的阵列有问题。我只能存储 csv 文件中最后一行的 serialType 和 serialModel。例如,如果 csv 文件有 3 行数据:
( [0] => 空 [1] => 空 [2] => 最后一个值正常)
为什么我无法存储其他两个值?
只需移动
$serialType = array();
$serialModel = array();
在脚本中do
之前。虽然它仍然在 do 循环中,但它只是每次迭代do - while
范围内的一个初始化变量并清理它。
$i = 0;
$serialType = array();
$serialModel = array();
while ($data = fgetcsv($handle,1000,",","'")) {
...
$serialType[$i] = $data[7];
$serialModel[$i] = $data[8];
$i++;
};