1 つ以上の選択値を変更するにはどうすればよいですか?値を入力すると機能します。それでも、両方の入力フィールドに 2 つの値を入力しても機能せず、次のエラーが表示されます。
レコード更新エラー: SQL 構文にエラーがあります。確認してください。 MariaDB サーバーのバージョンに対応するマニュアル 行 1 'nat = 'saf' WHERE id = '16''
の近くで使用される構文
if (isset($_POST['modifica'])) { $id = $_POST['id']; $セマフォ = false; $sql = "ユーザーの設定を更新 "; $fields = array('nume', 'nat', 'email', 'telefon'); foreach ($fields として $field) { if (isset($_POST[$field]) および !empty($_POST[$field])) { $var = ($_POST[$field]); $sql .= $field." = '$var'"; $セマフォ = true; } } if ($semaphore) { $sql .= " WHERE id = '$id'"; ($sql); } if ($conn->query($sql) === true) { echo "レコードが正常に更新されました"; } それ以外 { echo "レコード更新エラー: ".$conn->error; } $conn->close(); }
P粉7980104412024-03-21 00:02:31
@m-eriksson の评论の実施方法:
$sql = "ユーザーの設定を更新 nume = :nume、nat = :nat、email = :email、telefon = :telefon"; $fields = array('nume', 'nat', 'email', 'telefon'); if(count($fields) > 0 ){ $this->update($sql, $fields, $con) $セマフォ = true; } パブリック関数の更新 ($sql、$fields、$con) { $update = $con->prepare($query); $update->execute($fields) を返します。 }