Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php foreach语句,仅在插入最后一行时将数据插入sql_Php_Sql_Arrays_Foreach - Fatal编程技术网

php foreach语句,仅在插入最后一行时将数据插入sql

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

我试图在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多行一起使用 大概是这样的:

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并查看这是否为您提供了任何提示,您不应该使用任何mysql函数。从php 5.5开始,它们就被弃用,并在php 7.0中被完全删除。您还应该检查错误。不知道
$racelap
数组中到底有什么,也不知道您的表是如何定义的,也不知道代码看起来正常,您希望通过在文件顶部添加一些来开始多少猜测在打开PHP标记之后进行测试时,例如
,如果没有帮助,
echo$sql并查看这是否为您提供了任何线索