2016-02-16 6 views
1

Я внедрил простой сценарий регистрации в Volley, который использует скрипт PHP, который я создал, при первом запуске кода он отображал ошибку с ошибкой в ​​logcat. Затем я добавил разрешение <uses-permission android:name="android.permission.INTERNET" />, как рассказали другие, однако теперь, когда я пытаюсь зарегистрировать учетную запись, в лог-кате не появляются сообщения, и данные также не добавляются. Я просматривал предыдущие сообщения на форуме и не могу найти ничего похожего на то, что я встречаяAndroid Volley- Добавить в базу данных

Код:

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 

Спасибо для смотреть :-)

+0

Не уменьшалось, но можете ли вы опубликовать php? –

+0

Выполнено, спасибо за конструктивный совет :-) – GTucker

+0

Вы уверены, что это на стороне Волейбола? т.е. будет ли база данных действительно подключаться? Чтобы убедиться, попробуйте: проверьте, что ваше имя таблицы - это «пользователь», а не пользователи, введите запрос в phpmyadmin (или что вы используете) и посмотрите, обновляется ли таблица, убедитесь, что у андроидального залпа есть правильный URL-адрес. Лично я не вижу каких-либо вопиющих проблем на стороне Android, но я только использовал волейбол однажды. –

ответ

2

это говорит failed to connect to localhost/127.0.0.1 (port 80)

в андроид приложение, вы используете неправильный IP в registerURL, замените 127.0.0.1 или localhost с IP-адресом машины, работающей на веб-сервере (apache?), Должно быть что-то вроде 192.168.xxx.yyy

+0

Это работает! Еще один вопрос, однако, я пошел удалить запись, которую я сделал (это была тестовая запись), и я получаю сообщение «Can not delete, ошибка в синтаксисе (DELETE WHERE LIMIT 1) это из-за внешних ключей? – GTucker

+0

я не уверен но sql выглядит не правильно, общий delete qry похож на 'DELETE FROM mytable WHERE id = 10' или' WHERE user_name = 'Smith'' или без 'WHERE' на всех' DELETE FROM mytable', и это удалит все записи в 'mytable' проверьте это тоже http://www.w3schools.com/sql/sql_delete.asp – Yazan

+0

Да, спасибо :-) его странно, потому что это phpMyAdmin делает это автоматически, вместо того, чтобы я сам вводил запрос. – GTucker

Смежные вопросы