如何更改一個或多個選擇值?如果我輸入一個值,它就會起作用。儘管如此,如果我在兩個輸入欄位中輸入兩個值,它不起作用,顯示以下錯誤。
更新記錄時發生錯誤:您的 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粉7980104412024-03-21 00:02:31
@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); }