2016-06-12 3 views
2

Я хочу сделать страницу регистрации пользователя с помощью волейбола, но я не могу отправить данные на сервер. Это первый раз, когда я использую залп. Я включил все разрешения, и сервер также работает надлежащим образом, я просто не могу отправить данные в онлайн-базу данных.Невозможно отправить данные на сервер с помощью volley android

Когда я бегу, он выдает следующее сообщение: «предупреждение Mysqli подготовки() ожидает параметр 1, чтобы быть MySQLi, булево дано в доме ...»

Пожалуйста, помогите. вот мой код для Android: Пользовательский класс содержит Строку имени, имени пользователя, мобильному, паролю.

private void registerUser(final User user) { 
    StringRequest stringRequest = new StringRequest(Request.Method.POST, SERVER_ADDRESS + "Register.php", 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        Toast.makeText(Register.this,response,Toast.LENGTH_LONG).show(); 
       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        Toast.makeText(Register.this,error.toString(),Toast.LENGTH_LONG).show(); 
       } 
      }){ 
     @Override 
     protected Map<String,String> getParams(){ 
      Map<String,String> params = new HashMap<String, String>(); 
      params.put("name",user.name); 
      params.put("username", user.username); 
      params.put("mobile", user.mobile); 
      params.put("password", user.password); 
      Log.d(name+username+"her", "her"); 
      return params; 
     } 
    }; 

    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    requestQueue.add(stringRequest); 

} 
} 

А вот файл PHP:

<?php 

if($_SERVER['REQUEST_METHOD']=='POST'){ 
$con=mysqli_connect("localhost","dbName","pass","userName"); 

$name = $_POST["name"]; 
$username = $_POST["username"]; 
$mobile = $_POST["mobile"]; 
$password = $_POST["password"]; 

$statement = mysqli_prepare($con, "INSERT INTO UserDetails (name, username, mobile, password) VALUES (?, ?, ?, ?)"); 
mysqli_stmt_bind_param($statement, "ssss", $name, $username, $mobile, $password); 
mysqli_stmt_execute($statement); 
echo $name, $username, $mobile, $password; 
mysqli_stmt_close($statement); 

mysqli_close($con);} 
?> 

ответ

0

Вы должны начать очереди перед добавлением запроса к нему.

RequestQueue requestQueue = Volley.newRequestQueue(this); 
requestQueue.start() 
requestQueue.add(stringRequest); 

Пожалуйста, убедитесь, что вы называете старт() только один раз. Следовательно, создайте однопользовательский класс VolleyManager, создав экземпляр этого класса, он должен создать очередь запросов и запустить его. Для каждого вызова API просто вызовите VolleyManager.getInstance(). GetQueue(). Добавить (stringRequest)

0

Добавить

глобального $ CON

в файле PHP.

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