Javascript PHP MySQL查询在实际提交的行之前插入3行(来自w2ui表)

Javascript PHP MySQL查询在实际提交的行之前插入3行(来自w2ui表),javascript,php,arrays,json,w2ui,Javascript,Php,Arrays,Json,W2ui,我收到一个表的请求,要求从表单向数据库中插入数据。 我能够成功提交数据,但每次我提交一份表格时,它都会提交3个其他条目 我尝试了stripcslashes并转义字符串,但这不是问题所在 以下是未修剪请求的外观: request=%7B%22cmd%22%3A%22save%22%2C%22recid%22%3A0%2C%22name%22%3A%22foo%22%2C%22record%22%3A%7B%22imei%22%3A%22doe%22%2C%22mobile_no%22%3A%22

我收到一个表的请求,要求从表单向数据库中插入数据。 我能够成功提交数据,但每次我提交一份表格时,它都会提交3个其他条目

我尝试了
stripcslashes
并转义字符串,但这不是问题所在

以下是未修剪请求的外观:

request=%7B%22cmd%22%3A%22save%22%2C%22recid%22%3A0%2C%22name%22%3A%22foo%22%2C%22record%22%3A%7B%22imei%22%3A%22doe%22%2C%22mobile_no%22%3A%22Doe%22%2C%22iccid%22%3A%22jdoe%40email.com%22%2C%22driver%22%3A%22jdoe%22%2C%22company%22%3A%22jdoe%40email.com%22%2C%22type%22%3A%22jdoe%40email.com%22%2C%22channels%22%3A%22jdoe%40email.com%22%2C%22cameras%22%3A%22jdoe%40email.com%22%7D%7D
以下是修剪请求的外观:

request=%7B%22cmd%22%3A%22save%22%2C%22recid%22%3A0%2C%22name%22%3A%22foo%22%2C%22record%22%3A%7B%22imei%22%3A%22doe%22%2C%22mobile_no%22%3A%22Doe%22%2C%22iccid%22%3A%22jdoe%40email.com%22%2C%22driver%22%3A%22jdoe%22%2C%22company%22%3A%22jdoe%40email.com%22%2C%22type%22%3A%22jdoe%40email.com%22%2C%22channels%22%3A%22jdoe%40email.com%22%2C%22cameras%22%3A%22jdoe%40email.com%22%7D%7D
我将字段填入
0
进行测试

{"cmd":"save","recid":0,"name":"foo","record":{"imei":"0","mobile_no":"0","iccid":"0","driver":"0","company":"0","type":"0","channels":"0","cameras":"0"}}
为了得到Json格式,必须对请求进行修剪和处理

以下是我提交请求的PHP代码:

<?php
//get request a put into variable
$input = file_get_contents('php://input');
$decoded = urldecode($input);
//trim "request=" off
$Trimmed = trim($decoded, 'request=');

//con vars
$servername = "servername";
$username = "username";
$password = "password";
$dbname = "dbname";
//time vars
$date_added1 = date("Y-m-d");
$time_added1 = date("h:i:sa");

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

$array = json_decode($Trimmed, true);

foreach($array as $row)
{
    $sql = "INSERT into `adddevices` (imei, mobile_no, iccid, driver, company, type, channels, date_added, time_added, cameras) 
VALUES ('".$row["imei"]."', '".$row["mobile_no"]."', '".$row["iccid"]."', '".$row["driver"]."', '".$row["company"]."', '".$row["type"]."', '".$row["channels"]."', '$date_added1', '$time_added1', '".$row["cameras"]."')";

mysqli_query($conn, $sql);

}
echo "Data inserted";
mysqli_close($conn);

?>

您正在
$array
上运行
foreach()。然后你就可以放下餐车去做

$row = $array['record'];

谢谢你的回答,最后我一起修改了代码,并使用了
$jsonArray=json_decode($jsonString,true)['record']
要获取记录而不是foreach循环,我的代码不会工作,因为我误解了。你的新代码应该可以工作,但我已经更新了我的答案,以防有人从搜索引擎过来,我可以用原始代码来解决这个问题