sql >> データベース >  >> RDS >> Mysql

MySQLの更新、PDOで空白のフィールドをスキップ

    このようなものが機能するはずです

    .
    .
    .
    $q = array();
    if(trim($_POST["b"]) !== ""){
        $q[] = "Program = :program";
    }
    if(trim($_POST["c"]) !== ""){
        $q[] = "Descr = :descr";
    }
    if(trim($_POST["d"]) !== ""){
        $q[] = "Cost = :cost";
    }
    if(sizeof($q) > 0){//check if we have any updates otherwise don't execute
        $query = "UPDATE links SET " . implode(", ", $q) . " WHERE Id= :id";
        $stmt = $dbh->prepare($query);
        $stmt->bindParam(":id", $_POST["a"]);
        if(trim($_POST["b"]) !== ""){
            $stmt->bindParam(":program", $_POST["b"]);
        }
        if(trim($_POST["c"]) !== ""){
            $stmt->bindParam(":descr", $_POST["c"]);
        }
        if(trim($_POST["d"]) !== ""){
            $stmt->bindParam(":cost", $_POST["d"]);
        }
        $stmt->execute();
    }
    .
    .
    .
    


    1. 整数範囲検索のためのMySQLクエリの最適化

    2. MySQL COALESCE()の説明

    3. Androidデバイスのデータ/データフォルダにアクセスするにはどうすればよいですか?

    4. リストを文字列に変換して、PythonScrapyの1行でSQLに挿入します