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

プリペアドステートメントは、整数値で複数回実行することはできません

    プリペアドステートメントの場合は、bindParamを使用する必要があります 通常、ループの外側。

    1. bindParam はシングルステップです
    2. 束縛変数の設定は繰り返し可能なステップ(ループ)です
    3. executeを実行する必要があります 繰り返しごとに

    私は、そのようなものがうまくいくと思います:

    $stmt = $pdoDB->prepare("INSERT INTO mytab (col, key) VALUES (:col, :key)");
    
    // bind params (by reference)
    $stmt->bindParams(":col", $col, PDO::PARAM_STR); //bind variable $col
    $stmt->bindParams(":key", $key, PDO::PARAM_INT); //bind variable $key
    
    $values = ['here','are','some','values'];
    foreach ($values as $i => $value) {
        $col = $value; //set col
        $key = $i; //set key
        $stmt->execute();
    }
    



    1. JPA大文字のテーブル名

    2. PostgreSQLスキーマのテーブルを一覧表示します

    3. MySQLで合計行を追加する方法

    4. H2データをPostgreSQLに移行する