我试图在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);
}
代码没有给我一个错误,但它只添加最后一行数据,而忽略所有其他数据。
解决方案可能很简单,但不幸的是我自己找不到。
试试这个,使用单个SQL insert语句将查询用于插入多行像这样:
INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
CODE:
$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);
现在,不支持使用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);