我想将列表发送到php文件并将列表保存到mysqli

时间:2017-10-25 08:10:17

标签: java php httpurlconnection

您好我正在尝试通过php文件向mysqli发送有超过2,000个课程信息的课程列表。但是!每当我尝试发送列表时,它都不会将其发送到服务器。 你能帮我解决这个问题吗? :(

首先,java源代码

public static void sendCourseInfoToDB(List<Subject> subjects, String url) {

    try {
        // url is my *.php file 
        URL target = new URL(url);
        HttpURLConnection con = (HttpURLConnection) target.openConnection();

        con.setRequestMethod("POST");
        con.setDoOutput(true);
        con.setDoInput(true);
        con.setUseCaches(false);
        con.setRequestProperty("Content-Type", "text/html; charset = utf-8");

        DataOutputStream out = new DataOutputStream(con.getOutputStream());


        int len = subjects.size();

        for (int i = 0; i < len; ++i) {
            //String t = subjects.get(i).toString();
            out.writeBytes(subjects.get(i).toString());
            out.flush();
        }   

        out.flush();
        out.close();            

        int responseCode = con.getResponseCode();
        System.out.println("Post rqeust to Url : " + url);
        System.out.println("Post Params : " + subjects.get(0).toString());
        System.out.println("Resoponse Code : " + Integer.toString(responseCode));

        con.disconnect();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

主题类重写toString。 return-statement used参数编码为UTF-8 像这样:

courseCode = 12156&courseName = %EC%8B%A0%EC%86%8C%EC%9E%AC%EA%B3%B5%ED%95%99%EB%B6%80&subjectName = %EC%A2%85%ED%95%A9%EA%B3%BC%EC%A0%9C%EC%84%A4%EA%B3%841&kindOfSubject = %EC%A0%84%EA%B3%B5&score = 2

和php文件

<?php

header("Content-Type : text/html; charset = utf-8");

$mysqli = new mysqli("localhost", "user", "password", "db");

if($mysqli->mysqli_errno) {
    print $mysqli_error;
    exit();
}

$courseCode = $_POST["courseCode"];
$courseName = $_POST["courseName"];
$subjectName = $_POST["subjectName"];
$kindOfSubject = $_POST["kindOfSubject"];
$score = $_POST["score"];

$mysqli->query("INSERT INTO COURSE VALUES('$courseCode', '$courseName', '$subjectName', '$kindOfSubject', '$score')");

$response = $courseCode;

echo $response;
?>

每当我向DB发送课程信息时,我应该调用'sendCourseInfoToDB函数吗?我不知道有什么问题..帮我疯狂编码人〜!〜

0 个答案:

没有答案