そのため、GET で渡された値の値に基づいてさまざまなアクションを実行する必要がある Web サイトの php セクションに取り組んでいます。URL は正しいのですが、最初の if ステートメントしか入力されないという問題があります (echo でテストしました)。
問題のあるphpは次のとおりです。
$field = $_GET['value'];
$upc = $_GET['upc'];
$type = $_GET['field_type'];
echo $field;
echo $upc;
echo $type;
if ($type == "series") {
$stmt = $db_connection -> stmt_init();
$returnValue = "invalid";
if ($stmt -> prepare("update graphic_novel_main set series='" . $field . "' where upc='" . $upc . "'") or die("<br/>Error Building Query!<br/>" . mysqli_error($db_connection))) {
$stmt -> execute();
echo "<div>change sucessful?</div>";
$stmt -> close();
} else {
echo "error querying database!";
}
}
if ($field == "subtitle") {
$stmt1 = $db_connection -> stmt_init();
$returnValue = "invalid";
if ($stmt1 -> prepare("update graphic_novel_main set subtitle='" . $field . "' where upc='" . $upc . "'") or die("<br/>Error Building Query!<br/>" . mysqli_error($db_connection))) {
$stmt1 -> execute();
echo "<div>change sucessful?</div>";
$stmt1 -> close();
} else {
echo "error querying database!";
}
}
上部のエコーには正しい値が表示されます。最初の if は正しく実行されます。しかし、2番目はそうしません。
これがうまくいかない理由を誰かが知っているなら、教えていただければ幸いです
注:2番目のifを「else if」と「elseif」に変更してみましたが、結果は同じです