私は、私のアンドロイドプロジェクトでオブジェクトアレイを私のretrofitインスタンスにループさせる拡張ループを持っています。PDO PHPアップデートのみ1行を更新する
RetrofitはJSON配列を作成し、最終的には更新操作で終了します。問題は、1行だけが更新されることです。
レトロフィットは、私は、次の更新クエリ
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;
}
}
は、これは私の変数で参照されるテーブルである必要があり、私の更新スクリプト
{
"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"
}
に1によるフォローJSON配列1を送信しますデータは更新されます。
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`)
);
物事は私がJSONアレイは私のAndroidのプログラムで正しく作成され、その後、私のPDOファイルに渡って送信されていることを確認するためにOkHttpClient
を使用している
を解決するために試してみた - 彼らはです。
私はvar_dump();
も使用し、各変数が意図した値を保持していることを確認しました。
私はこの問題が私の更新クエリにあると信じていますが、なぜ修正するかわからないし、Postmanは私にエラーを与えません。
助力/アドバイスをいただければ幸いです。
'$ success = $ query-> execute ......'そしてあなたのifでこれが好きです 'if($ success){...}' – Fawaz