sql >> Database teknologi >  >> RDS >> Sqlserver

Forberedt sætning kan ikke udføres flere gange med heltalsværdier

I tilfælde af forberedte udsagn skal du bruge bindParam normalt uden for løkken.

  1. bindParam er et enkelt trin
  2. indstilling af bundne variabler er et gentageligt trin (loop)
  3. du skal køre execute for hver gentagelse

Jeg tror, ​​sådan noget ville virke:

$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. Et Performance Cheat Sheet til PostgreSQL

  2. Postgres pg_dump dumper databasen i en anden rækkefølge hver gang

  3. Postgresql json lignende forespørgsel

  4. kan ikke finde symbol PreparedStatement efter JAR-opgradering