Mysql
 sql >> Database >  >> RDS >> Mysql

Campo/i obbligatorio/i risultato/i mancante/i

Il tuo errore dice tutto. Dal momento che arrivi a } else { ... } bit, significa isset($_POST['id']) && isset($_POST['status_id']) è falso.

In altre parole, il tuo modulo è:

  • non usando POST, ma GET. In tal caso aggiungi method="post" al tuo <form> etichetta. (in realtà, POST è il comportamento predefinito, quindi se questo è il caso, probabilmente devi rimuovere o modificare method="GET" dal tag del modulo)
  • e/o il tuo modulo non contiene campi di input con name="id" e/o name="status_id"

La domanda aggiornata aggiunge il codice Android. Da qui questo aggiornamento:

Dubito che jsonParser.makeHttpRequest in realtà pubblica una stringa json codificata nel modulo. È molto probabile che invierà solo dati json al server web. Il $_POST di PHP non verrà riempito automaticamente con questi dati, poiché gestisce solo i dati codificati nel modulo.

Probabilmente dovrai leggere questi dati da stdIn.

Prova:

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

E poi usa $postData dove altrimenti useresti $_POST