安卓/ PHP的记录不插入到mysqlPHP、mysql

2023-09-12 10:09:26 作者:浅忆﹏梦微凉

我有一个问题我插入记录到MySQL表中。只有最后一条记录被插入。

I have a problem inserting my records into mysql table. Only the last record is being inserted.

这是在code我工作的:

This is the code I'm working on:

安卓

   String[] arrDocumentNumber, arrTransactionDate, arrItemCode;

    arrDocumentNumber = dbHelper.getAllDocumentNumbersFromOUTTRANS();
    arrTransactionDate = dbHelper.getAllTransactionDatesFromOUTTRANS();
    arrItemCode = dbHelper.getAllItemCodesFromOUTTRANS();

     protected String doInBackground(String... args) {

        // Building Parameters
        List<NameValuePair> params = new ArrayList<NameValuePair>();

        for(int i = 0; i < arrDocumentNumber.length; i++){

            params.add(new BasicNameValuePair(TAG_DOCUMENTNUMBER, arrDocumentNumber[i] ));
            params.add(new BasicNameValuePair(TAG_TRANSACTIONDATE, arrTransactionDate[i] ));
            params.add(new BasicNameValuePair(TAG_ITEMCODE, arrItemCode[i] )); 

        }

        // getting JSON Object
        // Note that insert outtrans url accepts POST method
        JSONObject json = jsonParser.makeHttpRequest(url_insertTo_outtrans,
                "POST", params);

        //obj.put(params);

        //Log.d("JSON", obj.toString());

        // check log cat from response
        Log.d("Create Response", json.toString());

   }

PHP

    <?php

/*
 * Following code will create a new product row
 * All product details are read from HTTP Post Request
 */

// array for JSON response
$response = array();

// check for required fields
if ( isset($_POST['documentnumber']) && isset($_POST['transactiondate']) && isset($_POST['itemcode']) ){

    $documentnumber = $_POST['documentnumber'];
    $transactiondate = $_POST['transactiondate'];
    $locationdate = $_POST['locationdate'];
    $itemcode = $_POST['itemcode'];
    $qty = $_POST['qty'];
    $amount = $_POST['amount'];
    $reson = $_POST['reason'];
    $posted = $_POST['posted'];
    $dateposted = $_POST['dateposted'];
    $unitprice = $_POST['unitprice'];

    // include db connect class
    include('dbconnect.php');

    $result = $conn->prepare("INSERT INTO outtrans(documentnumber, transactiondate, itemcode) VALUES (:documentnumber, :transactiondate, :itemcode)");


        $result->bindParam(':documentnumber', $documentnumber);
        $result->bindParam(':transactiondate', $transactiondate);
        $result->bindParam(':itemcode', $itemcode); 
        $result->execute();



    // check if row inserted or not
    if ($result) {
        // successfully inserted into database
        $response["success"] = 1;
        $response["message"] = "New record successfully created.";

        // echoing JSON response
        echo json_encode($response);
    } else {
        // failed to insert row
        $response["success"] = 0;
        $response["message"] = "Oops! An error occurred.";

        // echoing JSON response
        echo json_encode($response);
    }
} else {
    // required field is missing
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";

    // echoing JSON response
    echo json_encode($response);
}
?>

只有最后一个记录被插入到MySQL表。我不知道很多关于PHP,所以我可能失去了一些东西在我的PHP code。您的帮助将大大由我pciated AP $ P $。谢谢你。

Only the last records gets inserted into mysql table. I don't know much about PHP so I might be missing something in my PHP code. Your help will be greatly appreciated by me. Thanks.

推荐答案

这是因为你做了的Htt prequest 只与最后一个参数。 (IE)在您的for循环结束后, PARAMS 将只包含最后一个记录。 因此,移动

This is because you are making the HttpRequest only with the last parameter. (i.e) After your for loop is finished, params will contain only the last record. So Move the

JSONObject json=jsonParser.makeHttpRequest(url_insertTo_outtrans,"POST",params);

进入for循环。

into the for loop.

for(int i = 0; i < arrDocumentNumber.length; i++)
{
 List<NameValuePair> params = new ArrayList<NameValuePair>();
 params.add(new BasicNameValuePair(TAG_DOCUMENTNUMBER, arrDocumentNumber[i] ));
 params.add(new BasicNameValuePair(TAG_TRANSACTIONDATE, arrTransactionDate[i] ));
 params.add(new BasicNameValuePair(TAG_ITEMCODE, arrItemCode[i] )); 
 JSONObject json=jsonParser.makeHttpRequest(url_insertTo_outtrans,"POST",params);
}
 
精彩推荐
图片推荐