Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Campo(s) obrigatório(s) com resultado ausente


Seu erro diz tudo. Desde que você chega ao } else { ... } bit, significa isset($_POST['id']) && isset($_POST['status_id']) é falso.

Em outras palavras, seu formulário é:
  • não usando POST, mas GET. Nesse caso, adicione method="post" para o seu <form> marcação. (na verdade, POST é o comportamento padrão, então se este for o caso, você provavelmente terá que remover ou alterar method="GET" da tag de formulário)
  • e/ou seu formulário não contém campos de entrada com name="id" e/ou name="status_id"

A pergunta atualizada adiciona código Android. Daí esta atualização:

Duvido que jsonParser.makeHttpRequest realmente publica uma string json codificada em formulário. É mais provável que apenas POSTe dados json no servidor web. O $_POST do PHP não será preenchido automaticamente com esses dados, já que ele lida apenas com dados codificados por formulário.

Você provavelmente precisa ler esses dados de stdIn.

Experimentar:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $rawPostData = file_get_contents("php://input");
    $postData = (array)json_decode($rawPostData);
}

E então use $postData onde você usaria $_POST