Ich habe eine erweiterte Schleife in meinem Android-Projekt, die ein Objekt-Array zu meiner Retrofit-Instanz loops.PDO php update nur update 1 Zeile
Retrofit erstellt ein JSON-Array, das schließlich bei meinem Update-Vorgang endet. Das Problem ist, dass nur 1 Zeile aktualisiert wird.
Retrofit wird die Folge JSON-Array eins nach dem anderen zu meinem Update-Skript
{
"answer": {
"answerString": "Answer1",
"correct": "Incorrect",
"question_id": "1",
"unique_id_edit": "59b43c44a0f755.82885599"
},
"operation": "answer_edit"
}
{
"answer": {
"answerString": " Answer2",
"correct": "Incorrect",
"question_id": "1",
"unique_id_edit": " 59b43c44a10653.76375270"
},
"operation": "answer_edit"
}
{
"answer": {
"answerString": " Answer3",
"correct": "Incorrect",
"question_id": "1",
"unique_id_edit": " 59b43c44a1b5c6.27290898"
},
"operation": "answer_edit"
}
{
"answer": {
"answerString": " Answer4",
"correct": "Incorrect",
"question_id": "1",
"unique_id_edit": " 59b43c44a2b765.62888841"
},
"operation": "answer_edit"
}
Ich habe das Update folgende senden Abfrage
public function editAnswer($unique_id_edit, $answerString, $correct, $question_id){
$sql = "UPDATE answer SET answerString = :answerString, correct = :correct WHERE unique_id = :unique_id AND question_id = :question_id";
// Prepare statement
$query = $this ->conn ->prepare($sql);
// execute the query
$query->execute(array(':unique_id' => $unique_id_edit, ':answerString' => $answerString,':correct' => $correct, ':question_id' => $question_id));
if($query){
var_dump();
return true;
} else {
return false;
}
}
Dies ist die Tabelle, die in meiner Variablen referenziert werden und wo die Daten aktualisiert werden.
CREATE TABLE answer(
answer_id int(11) NOT NULL AUTO_INCREMENT,
unique_id varchar(23) NOT NULL,
answerString varchar(50) NOT NULL,
correct varchar(20) NOT NULL,
question_id int (11) NOT NULL,
PRIMARY KEY (answer_id),
FOREIGN KEY (`question_id`)
REFERENCES `scratchcard`.`question` (`question_id`)
);
Dinge, die ich habe versucht,
zu lösen ich OkHttpClient
verwendet habe um zu überprüfen, dass der JSON-Arrays richtig in meinem Android-Programm erstellt werden und dann über meine PDO-Dateien gesendet - was sie sind .
Ich habe auch var_dump();
verwendet und überprüft jede Variable, um sicherzustellen, dass sie ihre beabsichtigten Werte halten, und sie sind.
Ich glaube, das Problem liegt in meiner Update-Abfrage, aber ich bin mir nicht sicher, warum oder wie zu beheben und Postman gibt mir keinen Fehler - es scheitert nur in der Stille!
Jede Hilfe/Beratung wäre willkommen.
'$ success = $ query-> execute ......' und dann in Ihrem, wenn es so ist, 'if ($ erfolg) {...} ' – Fawaz