簡體   English   中英

Android Volley-添加到數據庫

[英]Android Volley- Add to database

我已經在Volley中實現了一個簡單的寄存器詳細信息腳本,該腳本使用了我構建的PHP腳本,第一次執行該代碼時,它在logcat中顯示了權限被拒絕的錯誤。 然后,我按照其他人的<uses-permission android:name="android.permission.INTERNET" />添加了<uses-permission android:name="android.permission.INTERNET" /> ,但是現在當我嘗試注冊帳戶時,logcat中根本沒有消息出現,並且也未添加任何數據。 我一直在瀏覽以前的論壇帖子,找不到與我遇到的內容類似的內容

碼:

  public void registerAccountButtonOnClick (View v) {

        StringRequest request = new StringRequest(Request.Method.POST, registerURL, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> parameters = new HashMap<String, String>();
                parameters.put("FIRST_NAME",firstname.getText().toString());
                parameters.put("LAST_NAME",lastname.getText().toString());
                parameters.put("USER_NAME",username.getText().toString());
                parameters.put("PASSWORD",password.getText().toString());
                return parameters;
            }
        };
        requestQueue.add(request);


    }

PHP:

connection.php

<?php

define('hostname', 'localhost');
define('username','root');
define('dbpassword', '');
define('databaseName', 'YouDecide');

$connect = mysqli_connect(hostname,username,dbpassword,databaseName);


?>

registerAccount.php

<?php

if($_SERVER["REQUEST_METHOD"]== "POST") {

    require 'connection.php';
    createAccount();

}

function createAccount()
{
    global $connect;

    $firstname = $_POST["firstname"];

    $lastname = $_POST["lastname"];

    $username = $_POST["username"];

    $password = $_POST["password"];


    $query = "INSERT INTO User(FIRST_NAME,LAST_NAME,USER_NAME,PASSWORD) VALUES ('$firstname', '$lastname', '$username','$password')";

    mysqli_query($connect, $query) or die (mysqli_error($connect));
    mysqli_close($connect);

}

?>

的printStackTrace:

02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err:     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:158)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err:     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err: Caused by: java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 80) after 2500ms: isConnected failed: ECONNREFUSED (Connection refused)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.io.IoBridge.isConnected(IoBridge.java:223)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.io.IoBridge.connectErrno(IoBridge.java:161)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.io.IoBridge.connect(IoBridge.java:112)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err:     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err:     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err:     at java.net.Socket.connect(Socket.java:842)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:76)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:362)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at com.android.volley.toolbox.HurlStack.addBodyIfExists(HurlStack.java:257)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at com.android.volley.toolbox.HurlStack.setConnectionParametersForRequest(HurlStack.java:227)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:107)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:97)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:   ... 1 more
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: Caused by: libcore.io.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:     at libcore.io.IoBridge.isConnected(IoBridge.java:208)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err:   ... 21 more

感謝您的關注:-)

它說failed to connect to localhost/127.0.0.1 (port 80)

在您的android應用中,您在registerURL中使用了錯誤的IP,將127.0.0.1localhost替換為運行Web服務器的機器的IP地址(Apache?),它應該類似於192.168.xxx.yyy

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM