2017-04-23 16 views
1

アンドロイドアプリを開発しようとしていて、MySQLデータベーステーブルにデータを挿入して新しいレコードの自動インクリメントキーを取得する必要がありました(demaynde_id)、これは私がVolleyライブラリを使用したため、挿入がスムーズに進んでいることに気付きましたが、キーを取得することになると、それを得ることができず、このエラーが発生しました:W/System.err: json.JSONExceptionは:java.lang.String型の 値< BRはJSONObjectボレーを使用して挿入した後に自動インクリメントができない

に変換することはできませんこれは私のPHPファイルである

SendingbookingRequest.php

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

$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); 

} 
    function getDemandeId() { 
     global $connect,$driver_id, $email; 
$statement = mysqli_prepare($connect, "SELECT LAST_INSERT_ID() FROM demande WHERE driver_id = ? AND pass_id = (SELECT user_id FROM passager WHERE email = ?)"); 
mysqli_stmt_bind_param($statement,"is", $driver_id, $email); 
mysqli_stmt_execute($statement); 
mysqli_stmt_store_result($statement); 
mysqli_stmt_bind_result($statement, $demande_id); 
    while(mysqli_stmt_fetch($statement)){ 
     $response["demande_id"] = $demande_id; 


}  
} 

$response["success"] = false; 

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


echo json_encode($response); 

?> 

I)がgetDemandeIdを(削除しようとした、挿入が成功しましたが、私は、Android Studioで同じエラーを得ました。

答えて

1

回答を確認しましたか?正しくフォーマットされていますか?レスポンスをログに記録し、フォーマットが適切かどうかを確認してください。 この例外は、文字列を正しくフォーマットされていないjsonObjectに変換しようとしたときに発生します。

+0

私は試しましたが、できませんでした。実際の値でfunction2から変数を削除しなければならなかったので、エラーが出ました:26行目の/storage/h3/744/754744/public_html/SendBookingReq.phpのmysqli_stmt_bind_param()のパラメータ数が間違っています –

+0

echo json_encodeを使ってデータを送信する? –

+0

これは質問ですが、私の答えがイエスだった場合、私はそれをたくさん使っていました。 –

関連する問題