php foreach语句,仅在插入最后一行时将数据插入sql
我试图在PHP中使用foreach语句将数组中的数据插入SQL数据库。阵列的数据行数可以从40行到80行不等。我正在使用以下代码:php foreach语句,仅在插入最后一行时将数据插入sql,php,sql,arrays,foreach,Php,Sql,Arrays,Foreach,我试图在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
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多行一起使用
大概是这样的:
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);
试试这个,
使用单个SQL insert语句将查询与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);
现在,
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);
现在,
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);
您不应该使用任何mysql函数。从php 5.5开始,它们就被弃用,并在php 7.0中被完全删除。您还应该检查错误。不知道
$racelap
数组中到底有什么,也不知道您的表是如何定义的,也不知道代码看起来正常,您希望通过在文件顶部添加一些来开始多少猜测在打开PHP标记之后进行测试时,例如,如果没有帮助,echo$sql在foreach循环中编写code>并查看这是否为您提供了任何提示,您不应该使用任何mysql函数。从php 5.5开始,它们就被弃用,并在php 7.0中被完全删除。您还应该检查错误。不知道$racelap
数组中到底有什么,也不知道您的表是如何定义的,也不知道代码看起来正常,您希望通过在文件顶部添加一些来开始多少猜测在打开PHP标记之后进行测试时,例如,如果没有帮助,echo$sql在foreach循环中编写>并查看这是否为您提供了任何线索