使用存储在来自 android 的 arrayList 中的参数循环执行 php 中的 mysql 查询

Execute mysql query in php in loop with parameters stored in arrayList coming from android

我的 android 应用程序中有一个包含书名的 ArrayList()。我正在使用 android Volley 库来处理服务器请求。我想将所有这些书添加到服务器数据库中的 BookList(table) 中。我想使用单个服务器请求来完成它,即使用单个 php 文件。如何编写此 php 代码,以便将所有这些值插入到 table using 循环中?一些代码将非常有用

在评论的帮助下找到了答案。 首先,我从 arrayLists 创建了 JSONArrays。然后我通过 android 截击将它们发布到 php。

私有地图参数;

    JSONArray bookNamesJSON = new JSONArray(Arrays.asList(bookNames));
    JSONArray bookAuthorsJSON = new JSONArray(Arrays.asList(bookAuthors));
    JSONArray subjectsJSON = new JSONArray(Arrays.asList(subjects));


    params = new HashMap<>();
    params.put("candidateId", id + "");
    params.put("bookName",bookNamesJSON.toString());
    params.put("authorName",bookAuthorsJSON.toString());
    params.put("subjectName",subjectsJSON.toString());
    params.put("reqDate",date);

然后在 php 我不得不这样做:

$candidateId=$_POST["candidateId"];
$reqDate=$_POST["reqDate"];
$subjectName = json_decode($_POST["subjectName"])[0];
$bookName = json_decode($_POST["bookName"])[0];
$authorName = json_decode($_POST["authorName"])[0];


$response = array();
foreach ($subjectName as $i => $subject) 
{
    $stmt = $conn->prepare("INSERT INTO BookRequisition VALUES (?,?,?,?,?);");
    $stmt->bind_param("dssss", $candidateId, $subject, $bookName[$i], $authorName[$i], $reqDate);
    $stmt->execute();
}


$response["success"] = true;



echo json_encode($response);

希望这对某人有所帮助。