安卓/ PHP的记录不插入到mysql [英] android/php record not inserting into mysql

查看:136
本文介绍了安卓/ PHP的记录不插入到mysql的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个问题我插入记录到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);
}

这篇关于安卓/ PHP的记录不插入到mysql的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆