如何在輸入欄位中輸入特定值,即使其中一些為空?
P粉418854048
P粉418854048 2024-03-20 09:52:58
0
1
405

如何更改一個或多個選擇值?如果我輸入一個值,它就會起作用。儘管如此,如果我在兩個輸入欄位中輸入兩個值,它不起作用,顯示以下錯誤。

更新記錄時發生錯誤:您的 SQL 語法有錯誤;檢查 與您的 MariaDB 伺服器版本相對應的手冊 第 1 行 'nat = 'saf' WHERE id = '16'' 附近使用的語法

if (isset($_POST['modifica'])) {
    $id = $_POST['id'];

    $semaphore = false;
    $sql = "UPDATE users SET ";
    $fields = array('nume', 'nat', 'email', 'telefon');
    foreach ($fields as $field) {
        if (isset($_POST[$field]) and !empty($_POST[$field])) {
            $var = ($_POST[$field]);
            $sql .= $field." = '$var'";
            $semaphore = true;
        }
    }

    if ($semaphore) {
        $sql .= " WHERE id = '$id'";
        ($sql);
    }
    
    if ($conn->query($sql) === true) {
        echo "Record updated successfully";
    } else {
        echo "Error updating record: ".$conn->error;
    }

    $conn->close();
}

P粉418854048
P粉418854048

全部回覆(1)
P粉798010441

@m-eriksson 評論的實作方法:

$sql = "更新使用者 SET nume = :nume, nat = :nat, email = :email, telefon = :telefon";

$fields = array('nume', 'nat', '電子郵件', '電話');

if(計數($欄位) > 0 ){
    $this->更新($sql, $fields, $con)
    $信號量=真;
}

公共函數更新($sql、$fields、$con)
{
    $update = $con->prepare($query);
    返回 $update->execute($fields);
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板