ホームページ  >  に質問  >  本文

入力フィールドの一部が空であっても、特定の値を入力フィールドに入力するにはどうすればよいですか?

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粉418854048P粉418854048187日前325

全員に返信(1)返信します

  • P粉798010441

    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) を返します。
    }

    返事
    0
  • キャンセル返事