如何使用PHP API在一次调用中添加多条记录?

如何使用PHP API在一次调用中添加多条记录?,php,Php,我制作了一个简单的PHP API,使用POST方法在数据库中插入记录,如下所示: <?php header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: GET, POST, OPTIONS'); header('Access-Control-Allow-Headers: Content-Type,x-prototype-version,x-requested-with'); header

我制作了一个简单的PHP API,使用POST方法在数据库中插入记录,如下所示:

<?php

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type,x-prototype-version,x-requested-with');
header('Cache-Control: max-age=900');
header("Content-Type: application/json"); // tell client that we are sending json data


$servername = "localhost";
$username = "*****";
$password = "*****";
$dbname = "*****";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$dxname  =$_POST['name'];

$sql = "INSERT INTO crudtable(firstname, lastname, email,favjob)
VALUES ('".$dxname."', 'Doe', 'john@example.com','coder')";

if ($result = $conn->query($sql))
{ echo json_encode("New record created successfully");
   // echo "New record created successfully";
} else {
    echo json_encode("Some error");
   // echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

您可以使用以下语法:

INSERT INTO crudtable
    (firstname, lastname, email,favjob)
VALUES
    (1,2,3,4),
    (5,6,7,8),
    (9,10,11,12);
但是,这取决于如何使用PHP将多个变量传递到服务器端

要插入的记录数已知还是未知? 如果你想要一个变量数组,最好在数组上迭代并插入每个变量

无论如何,我强烈建议在PHP中使用准备好的语句:


我认为它更安全,也更容易实现。

在下图中显示的数组行中传递名称paranter

在php脚本中

获取数组变量中的name参数

下面是如何处理来自请求的多个名称的代码

$names= $_POST['name'];

$valuesToInsert= array();

foreach($names as $nm)
{
  $valuesToInsert[] = "('".$nm."', 'Doe', 'john@example.com','coder')";
}

if(!empty($valuesToInsert))
{
  $stringValues = implode(", ", $valuesToInsert);

  $sql = "INSERT INTO crudtable(firstname, lastname, email,favjob)
  VALUES $stringValues";

  if ($result = $conn->query($sql))
  { echo json_encode("New record created successfully");
     // echo "New record created successfully";
  } else {
      echo json_encode("Some error");
     // echo "Error: " . $sql . "<br>" . $conn->error;
  }

}
$names=$\u POST['name'];
$valuesToInsert=array();
foreach(名称为$nm)
{
$valuesToInsert[]=”(“$nm.”、'Doe'、'john@example.com“,”编码器“;
}
如果(!空($valuesToInsert))
{
$stringValues=内爆(“,”,$valuesToInsert);
$sql=“插入到crudtable(firstname、lastname、email、favjob)
价值$stringValues”;
如果($result=$conn->query($sql))
{echo json_encode(“成功创建新记录”);
//echo“新记录创建成功”;
}否则{
echo json_编码(“某些错误”);
//echo“Error:”.$sql.“
”$conn->Error; } }
Well首先决定如何向php脚本发送多个名称。然后对脚本进行编码以接受并处理它们如果必须使用URL编码的数据,请将字段上的名称更改为
firstname[]
lastname[]
email[]
favjob[]
。PHP将这些参数转换为一个数组,您可以对其进行迭代。您必须使用Loop更新更新代码并指导我如何使用postmancan传递值您可以更新我的代码并让我知道如何使用PHP进行测试,您只需插入名称,其余字段,无需插入即可告诉我如何接受多个名称?您是要分别发送每个名称还是发送所有名称的数组?这样我就能更好地帮助你。我可以采用任何方法,我对此持开放态度。你可以告诉我最好的方法