2017-03-29 19 views
-3

如果按下某個按鈕然後重定向頁面,它應該使用表單中的新信息更新一行。但是,這段代碼不會。PHP中的SQL更新無法正常工作,不會重定向

if(isset($_POST['editBtn'])) { 
    require_once('db.php'); 
    if(isset($_POST['option'])) { 
     $option = "1"; 
    } else { 
     $option = "0";} 
    $uid = isset($_GET['id']) ? $_GET['id'] : ''; 

    $db->query("UPDATE members SET 
     uid = $uid, 
     option = '$_POST[option]', 
     WHERE uid = $uid"); 
    $db->close(); 

    header('location: view.php?id='.$uid.''); 
    exit(); 
} 
+0

你應該在查詢中使用'$ option',而不是'$ _POST [option]' – Barmar

+1

你確定'$ _POST ['editBtn']'被設置了嗎? – Barmar

+0

將'var_dump($ _ POST)'放在開頭。 – Barmar

回答

0

而不是使用,

$db->query("UPDATE members SET 
    uid = $uid, 
    option = '$_POST[option]', 
    WHERE uid = $uid"); 

使用下面的代碼:

$db->query("UPDATE members SET 
    uid = $uid, 
    option = '".$_POST['option']."', 
    WHERE uid = $uid"); 

如果你想$option保存在數據庫中的值,那麼你應該在下面的代碼中使用:

$db->query("UPDATE members SET 
    uid = $uid, 
    option = '$option', 
    WHERE uid = $uid");