2014-06-16 3 views
-1

POST를 사용하여 내 안드로이드 앱에서 일부 데이터 (문자열)를 추가하려고합니다. 나는 현재 Advanced Rest Client를 사용하여 코드를 테스트하고 있지만 거기에서 imput이 나온다.POST 데이터를 데이터베이스에 저장할 수 없습니다.

편집 : 내 질문이 무엇인지 명확하게하려면 - 값을 가져 오지 않고 할당하는 코드의 문제점은 무엇입니까? 왜 첫 번째 경우 건너 뛸까요?

EDIT 2 :이 POST를 테스트하기 위해 chrome.google.com/webstore/detail/advanced-rest-client/...를 사용하고 있습니다.

NOTES :

echo @name; - 아무것도하지 않고, 반향하지 않습니다.

지금은 필수 입력란이 누락되었다고 말하는 세 번째 입력을 자동으로 입력합니다.

$ name에 var_dump를 사용해 보았는데 다음과 같은 내용이 있습니다 : 예기치 않은 토큰 s =>이 말이 맞지 않습니다.

미리 답변 해 주셔서 감사합니다. 추가 정보가 필요하시면 기꺼이 제공해 드리겠습니다.

$app->post('/users', function() use ($app, $mysql) { 
    $name = $app->request->post('name'); 
    $email = $app->request->post('email'); 
    $beer_type = $app->request->post('beer_type'); 
    $favorite_beer = $app->request->post('favorite_beer'); 
    $favorite_drink = $app->request->post('favorite_drink'); 

    echo $name; 

if (!empty($name) and !empty($email) and !empty($beer_type) and !empty($favorite_beer) and !empty($favorite_drink)) { 

$insert = "INSERT INTO clients(name, email) VALUES({$name}, {$email})"; 
$getid = "SELECT id_client FROM clients WHERE email = {$email}"; 
$insert2 = "INSERT INTO preferences(client_id, beer_type, favorite_beer, favorite_drink) VALUES({$idvalue}, {$beer_type}, {$favorite_beer}, {$favorite_drink})"; 

$request = $mysql->query($insert); 
$test = false; 
$id = 0; 
$test2 = false; 
if ($request !== false) { 
    $test = true; 
} 
if ($test === true) { 
    $request = $mysql->query($getid); 
    if ($request !== false) { 
     $id = $request->fetch_all(MYSQLI_ASSOC); 
    } 
} 
if ($id !== 0) { 
    $request = $mysql->query($insert2); 
    if ($request !== false) { 
     $test2 = true; 
    } 
} 

if ($test2 === true) { 
     // successfully inserted into database 
     $response["success"] = 1; 
     $response["message"] = "Product successfully created."; 

     // echoing JSON response 
     echo json_encode($response); 
    } else { 
     // failed to insert row 
     $response["success"] = 0; 
     $response["message"] = "Oops! An error occurred."; 

     // echoing JSON response 
     echo json_encode($response); 
    } 
}else { 
    // required field is missing 
    $response["success"] = 0; 
    $response["message"] = "Required field(s) is missing"; 

    // echoing JSON response 
    echo json_encode($response); 
} 

}); 
+0

분명히 POST 코드가 좋지 않습니다. – greenapps

+0

POST를 실제로 수행하는 코드를 제공해야합니다. –

+0

@ dave.c 질문에 자세히 설명 했으므로 https://chrome.google.com/webstore/detail/advanced-rest-client/를 사용하고 있습니다. 이 POST를 테스트하려면 hgmloofddffdnphfgcellkdfbfbjeloo. 나는 다음과 같은 테스트 코드를 추가했다 : random name, [email protected], draft, Kwak, Green Apple 추가해야하는 5 가지 값. 내 안드로이드 코드도 필요하다면 제공 할 수는 있지만 아직 POST가 고급 휴식 클라이언트에서 작동하지 않는다면 아무런 문제가 없으므로 아직 교정하지 못했습니다. 다른 모든 링크는이 링크를 제외하고는 완벽하게 작동합니다. : \ – user3588546

답변

0

내가 자바 코드를 변경하여 내 문제를 해결했습니다

는 코드입니다. POST에 Ion Library을 사용했는데 완벽하게 작동했습니다.

관련 문제