繁体   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