sql >> Databasteknik >  >> RDS >> Mysql

Lagra och iterera över resultatet av frågan i mysqli

mysqli_stmt::store_result returnera en boolean. Enligt doktorn ska det vara något i stil med:

$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();

Om detta inte fungerar kan du hämta alla rader först till en array och sedan loopa den arrayen igen:

$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. Hur man uppdaterar rader med ett slumpmässigt datum

  2. Hur man kör ett SQL Server Agent Job med T-SQL

  3. Några fantastiska nyheter för Standard Edition-kunder i SQL Server 2014

  4. Hur man minimerar RPO för dina PostgreSQL-databaser med hjälp av punktåterställning