2017-04-24 14 views
0

MySQLデータベースにsuccessfuly(Volleyを使用)にデータを挿入しようとしばらく苦労していますが、これは問題ではありませんデータが挿入されていますが、このエラーが発生します。W/System.err:org.json.JSONException:値< java.lang.String型のbrをJSONObjectまたはJSONceptionに変換できません。何か他のコードを追加するとUIがフリーズし、PHPファイルから日付コードを削除しようとしましたが、すべてがうまくいきましたが、datetime値が私が探している値ではない、再びエラー。 これは私のコードです:DATETIMEデータのため、型java.lang.Stringの値<brをJSONObjectに変換できません

Response.Listener<String> responseListener1 = new Response.Listener<String>() { 
                    @Override 
                    public void onResponse(String response) { 
                     try { 
                      JSONObject jsonResponse1 = new JSONObject(response); 
                      boolean success = jsonResponse1.getBoolean("success"); 
                      if (success) { 


                       Toast.makeText(MapActivity.this, "SUCCESS",Toast.LENGTH_LONG).show(); 


                      } else { 
                       Toast.makeText(MapActivity.this, "INSERTION FAILED",Toast.LENGTH_LONG).show(); 


                      } 


                     } catch (JSONException e) { 
                      e.printStackTrace(); 
                      Toast.makeText(MapActivity.this, "EXCEPTION",Toast.LENGTH_LONG).show(); 
                     } 


                    } 
                   }; 




                   SendBookingRequest bookingRequest = new SendBookingRequest(idd,em,Adresse_source,duree,dist, responseListener1); 
                   RequestQueue queue1 = Volley.newRequestQueue(MapActivity.this); 
                   queue1.add(bookingRequest); 

そして、ここでは私のPHPファイルは、SendBookingRequest

<?php 
require("password.php"); 
$connect = mysqli_connect("localhost", "XXXXX", "XXXXX", "XXXXX"); 

$driver_id = $_POST["driver_id"]; 
$email = $_POST["email"]; 
$adresse_source = $_POST["adresse_source"]; 
$duree = $_POST["duree"]; 
$distance = $_POST["distance"]; 
$response = array(); 
$dt_obj = new DateTime($response['send_moment'], new 
DateTimeZone('America/Chicago')); 
$dt_obj->setTimezone(new DateTimeZone('Europe/London')); 
$send_time = $dt_obj->format('Y-m-d H:i:s'); 
    echo $send_time; 
function AddRequest() { 
    global $connect, $driver_id, $email, $adresse_source, $duree, $distance, $send_time ; 
    $statement = mysqli_prepare($connect, "INSERT INTO demande (driver_id, pass_id, adresse_source, duree, distance, send_moment) VALUES (?, (SELECT user_id FROM passager WHERE email = ?),?, ?, ?, ?)"); 
    mysqli_stmt_bind_param($statement, "issdis", $driver_id, $email, $adresse_source, $duree, $distance, $send_time); 
    mysqli_stmt_execute($statement); 
    mysqli_stmt_close($statement);  
} 


    $response["success"] = false; 

    AddRequest(); 
    $response["success"] = true; 


echo json_encode($response); 
?> 

ある任意の助けが最も理解されるであろう。

+0

と何の上header('Content-type: application/json');行を置く必要があると思いますか? –

+0

申し訳ありませんが、あなたは何を意味するか説明できますか? –

+0

あなたが直面している問題の原因となる文字列を表示しようとしています –

答えて

0

私はあなたがPHPコードでecho json_encode($response);そのデータのサンプルを示すの厄介な考え方について

+0

私はそれを追加します。私がMarcin Orlowskiと話し合ったとき、私は、エラーの原因が、無期限のインデックスsend_moment –

関連する問題