2016-06-12 17 views
2

私はvolleyを使用してユーザー登録ページを作成したいが、サーバーにデータを送信できません。私がボレーを使用しているのは初めてです。私はすべてのアクセス許可を含んでおり、サーバーも適切に実行されています。データをオンラインデータベースに送信できません。 「)(警告が用意mysqliのパラメータ1が家に与えられ、ブール... mysqliのことを期待し、」助けてくださいvolley androidを使用してサーバーにデータを送信できません

私はそれを実行

が、それは次のようなメッセージを与えます。 私のアンドロイドコードは次のとおりです。 ユーザークラスには、名前、ユーザー名、モバイル、パスワードの文字列が含まれています。

<?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

あなたがそれにすべての要求を追加する前にキューを起動する必要があります。

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ファイルです。

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

あなたは一度だけ開始()を呼び出していることを確認してください。したがって、シングルトンクラスのVolleyManagerを作成します。このクラスのインスタンスを作成するときには、要求キューを作成して開始する必要があります。各API呼び出しのためだけVolleyManager.getInstance()。getQueue()を呼び出します。(stringRequest)を追加

0

があなたのphpファイルで

グローバル$詐欺

を追加します。