如何使用循环更新sql中的行?

时间:2016-07-07 19:29:07

标签: php mysql

我试图弄清楚如何调用一次查询。

我有6个不同的图像,标题和desc变量。

在这段代码中,我需要知道如何将id从0循环到6。

for i in range(len(random_word)):
    if random_word[i] in rightletters:
        blanks = blanks[:i] + random_word[i] + blanks[i+1:]
        print "DEBUG", i, blanks

3 个答案:

答案 0 :(得分:1)

我试过使用一个简单的$ query模型,它运行正常。 创建一个有效的Query字符串以传递给db

<?php
$query = "UPDATE `featured` SET `image` = '".$image.$id."', `title` = ".$title.$id."', `desc` = '".$desc.$id}."', `date` = '".$date->format('Y-m-d H:i:s')."' WHERE id = '".$id."';"

$result=$mysqli->query($query);
  // Verify results
if(!$result) {
  $ErrMessage  =  "ErrSqlQuery:" . $mysqli->error . "\n";
  $mysqli->close();
  die($ErrMessage);        
}

您也可以通过

查看结果
echo  $mysqli->affected_rows;
?>

答案 1 :(得分:1)

$query_build = "";
foreach($arr as $$image){
    $query_build .= "UPDATE `featured` SET `image` = '{$image.$id}', `title` = '{$title.$id}', `desc` = '{$desc.$id}', `date` = '{$date->format('Y-m-d H:i:s')}' WHERE id = '{$id}';";
}
$get = $this->db->queryRow($query_build);

累积所有查询并立即执行所有查询。

答案 2 :(得分:1)

要构建Querys集合,请使用multi_query函数。 循环以构建您的Query字符串以传递给db并由分号连接。

<?php
for($i=0;$i <= $maxquerys;$i++){
  $query = "UPDATE `featured` SET `image` = '".$image.$id."', `title` =     ".$title.$id."', `desc` = '".$desc.$id."', `date` = '".$date->format('Y-m-d H:i:s')."' WHERE id = '".$id."';"
}

/* execute multi query */
if ($mysqli->multi_query($query)) {

  while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();

您也可以通过

查看结果
echo  $mysqli->affected_rows;
?>