php - 如何用循环更新sql中的一行?

标签 php mysql

我想知道如何调用一次查询。

我有 6 个不同的变量用于图像、标题和描述。

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

    $date = new DateTime("NOW");

    $image1 = 'SSSS';
    $title1 = 'AAAA';
    $desc1 =  'BBBB';

    $image2 = 'RRRR';
    $title2 = 'GGGG';
    $desc2 =  'VVVV';

    ///  4 vars later....

    $id = 6;


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

最佳答案

要构建查询集合,请使用 multi_query 函数。 循环构建您的查询字符串以传递给数据库并用分号连接。

<?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;
?>

关于php - 如何用循环更新sql中的一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38253801/

相关文章:

php - 如何在 bool 值上创建 2 列的唯一约束?

php - 无法使用用户名和密码连接到数据库

php - 无法使用 SF2 将上传的文件保存到文件系统

mysql:一次性更新一列?

java - 如何使用java变量向mysql插入值

php - 比较数据库中的日期是否大于当前日期

php - 从一个表(mysql)中获取每个标题并从另一个表中获取url并使用title提取每个url上的数据

mysql - 选择带有 IN 子句的查询 - 在 IN 子句中有重复值

mysql - 在 MySQL DB 中输入字符串时,如何通过 DEFAULT 检查字符串开头的字符?

mysql - 更新变量的值而不在 mysql 中打印其值