sql >> Database >  >> RDS >> Mysql

Bewaar en herhaal het resultaat van de zoekopdracht in mysqli

mysqli_stmt::store_result een boolean teruggeven. Volgens het document zou het zoiets moeten zijn als:

$stmt->execute();
$stmt->store_result();

$stmt->bind_result($name);

while($stmt->fetch()){
    //echo $name." ";
    // try another statement
    $query = "INSERT INTO usertable ...";
    $stmt2 = $mysqli->prepare($query);
    ...
}

$stmt->free_result();
$stmt->close();

Als dit niet werkt, kunt u eerst alle rijen in een array ophalen en die array vervolgens opnieuw herhalen:

$stmt->execute();
$stmt->bind_result($name);
$names = array();
while($stmt->fetch()){
    $names[] = $name;
}
$stmt->free_result();
$stmt->close();

foreach($names as $name) {
    $query = "INSERT INTO usertable ...";
    $stmt = $mysqli->prepare($query);
    ...
}


  1. Hoe kan ik mijn ad-hoc SQL testen met parameters in het Postgres-queryvenster?

  2. Hoe een rij in SQLite te krijgen op index (niet op id)

  3. Installeer de SQL Server Agent-extensie op Azure Data Studio

  4. Verwerk mysql-herstart in SQLAlchemy