我正在尝试将多个记录插入到我的数据库中。在PHP循环中使用INSERT INTO
sql语句。
<?php
require 'connect-mysql.php';
$json = '[{"run_id":"1","timeS":"00:00:00","lng":"53.408709","lat":"-2.996161"},{"run_id":"1","timeS":"00:00:00","lng":"53.408709","lat":"-2.996161"},{"run_id":"1","timeS":"00:00:00","lng":"53.408709","lat":"-2.996161"},{"run_id":"1","timeS":"00:00:00","lng":"53.408709","lat":"-2.996161"}]';
$array = json_decode($json); // decode json
$size = count($array);
for ($x = 0; $x <= $size - 1; $x++)
{
$run = $array[$x]->run_id;
$timeStamp = $array[$x]->timeS;
$lng = $array[$x]->lng;
$lat = $array[$x]->lat;
//echo $array[$x]->exercise_name;
$mysql_qry = "INSERT INTO run_gps (run_id, time, decimal_degrees_lng, decimal_degrees_lat) VALUES ('$run', '$timeStamp', '$lng', '$lat');";
$result = mysqli_query($dbcon ,$mysql_qry);
echo $mysql_qry;
}
?>
当我回显$mysql_qry
时,它回应了我期望但实际上并未插入数据库的所有INSERT INTO
语句。
我希望有人可以帮助我。
编辑
我已将我的代码更新为某人可以帮助我的内容,请参阅下文。
<?php
require 'connect-mysql.php';
$json = $_POST['json'];
$array = json_decode($json);
$size = count($array);
for ($x = 0; $x <= $size - 1; $x++)
{
$id = $array[$x]->run_id;
$timeStamp = $array[$x]->timeS;
$lng = $array[$x]->lng;
$lat = $array[$x]->lat;
if($x>0)
{
$mysql_qry .= "INSERT INTO run_gps (run_id, time, decimal_degrees_lat, decimal_degrees_lng) VALUES ('".$id."', '".$timeStamp."', '".$lat."', '".$lng."');";
}
else
{
$mysql_qry = "INSERT INTO run_gps (run_id, time, decimal_degrees_lat, decimal_degrees_lng) VALUES ('".$id."', '".$timeStamp."', '".$lat."', '".$lng."');";
}
//$result[$x]=mysqli_query($dbcon ,$mysql_qry[$x]);
//mysqli_multi_query($dbcon ,$mysql_qry[$x]);
//echo $result[$x];
}
if(mysqli_multi_query($dbcon, $mysql_qry))
{
echo $mysql_qry;
}
else
{
echo "fail";
}
?>
这只会将第一个INSERT INTO
插入数据库。