我正在尝试在PHP中使用foreach语句将数据中的数据插入到SQL数据库中。该阵列可以在40到80行数据之间变化。我正在使用以下代码:
foreach ($racelap as $lap){
$sql = "insert into laps (RaceID,Lap,time,Temp,Humidity) ";
$sql .= "values ($RaceID,'$lap[0]','$lap[1]',$lap[2],'$lap[3]')";
mysql_query($sql);
}
代码不会给我一个错误,但它只会添加最后一行数据,而忽略所有其他数据。
解决方案可能很简单,但遗憾的是我自己找不到。
答案 0 :(得分:0)
试试这个, 使用您的查询,使用单个SQL INSERT语句插入多行 像这样的东西:
INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
代码:
$sql = "insert into laps (RaceID,Lap,time,Temp,Humidity) values ";
foreach ($racelap as $lap){
$sql .= "($RaceID,'$lap[0]','$lap[1]',$lap[2],'$lap[3]') ,";
}
$sql =rtrim($sql,",");
mysql_query($sql);
答案 1 :(得分:0)
现在,mysql
已弃用。击球手你可以使用mysqli
。请尝试使用mysql
以下代码:
$sql = "insert into laps (RaceID,Lap,time,Temp,Humidity) values ";
foreach ($racelap as $lap){
$sql .= "($RaceID,'$lap[0]','$lap[1]',$lap[2],'$lap[3]'), ";
if(!next($racelap)) {
$sql .= "($RaceID,'$lap[0]','$lap[1]',$lap[2],'$lap[3]')";
}
}
mysql_query($sql);