2017-04-24 61 views
0

我一直在努力尝试将数据成功插入MySQL数据库(使用Volley),好吧,这不是问题因为数据是插入的,但是我一直有这个错误W/System.err:org.json.JSONException:值< br的java.lang.String类型不能转换为JSONObject或JSONEception,这个错误是停止做的其他任何东西,如果我添加更多的代码的UI冻结,我试图从我的PHP文件中删除日期代码,一切都很好,只有日期时间值不是我正在寻找的,当我加回来,它显示我再次出现错误。 这是我的代码:由于DATETIME数据,无法将java.lang.String类型的值转换为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

和怎么样显示,数据的样本的尴尬想法? –

+0

对不起,你能解释一下你的意思吗? –

+0

显示你正试图解析的字符串,导致你正面临的问题 –

回答

0

我认为你需要把header('Content-type: application/json');线以上的echo json_encode($response);在PHP代码

+0

我会添加它。当我与Marcin Orlowski讨论时,我发现错误的来源是不确定的索引send_moment –

相关问题