我正在尝试通过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] =>最后价值还可以 )
为什么我无法存储其他两个值?
答案 0 :(得分:1)
移动
$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++;
};