2017-04-24 4 views
0

저는 MySQL 데이터베이스에 successfuly (Volley를 사용하여) 데이터를 삽입하는 동안 어려움을 겪어 왔습니다. 데이터가 삽입 되었기 때문에이 오류가 계속 발생합니다. W/System.err : org.json.JSONException : java.lang.String 유형의 값 < br를 JSONObject 또는 JSONception으로 변환 할 수 없습니다.이 오류는 중지 중입니다. UI 코드가 멈추는 코드를 추가하면 PHP 코드에서 날짜 코드를 제거하고 날짜/시간 값만 찾았습니다. 다시 추가하면 나와 보여줍니다. 다시 오류. 여기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 
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); 
?> 

SendBookingRequest 내 PHP 파일입니다 이 내 코드입니다.

+0

어떤 데이터의 샘플을 보여주는 어색한 아이디어에 대한에 echo json_encode($response);의 위 header('Content-type: application/json'); 줄을 추가 할 필요가 있다고 생각? –

+0

죄송합니다, 무슨 뜻인지 설명해 주시겠습니까? –

+0

당신이 직면하고있는 문제를 일으키는 구문 분석하려는 문자열을 표시합니다. –

답변

0

는 난 당신이 PHP 코드

+0

추가하겠습니다. 내가 Marcin Orlowski와 토론 할 때, 나는 오류의 원인이 indefined index 인 것을 발견했다. send_moment –