【问题标题】:I want to do a sql update loop statement, by using the do--while in php我想通过在 php 中使用 do--while 来执行 sql 更新循环语句
【发布时间】:2010-06-10 08:53:01
【问题描述】:

我想循环更新语句,但它只循环一次。

这是我正在使用的代码:

do {
    mysql_select_db($database_ll, $ll);
    $query_query= "update table set ex='$71[1]' where field='val'";
    $query = mysql_query($query_query, $ll) or die(mysql_error());
    $row_domain_all = mysql_fetch_assoc($query);
} while ($row_query = mysql_fetch_assoc($query));

谢谢 让

【问题讨论】:

  • 也许你可以解释一下你想要做什么......?
  • 这段代码有什么作用?你想让它做什么?你有什么问题?
  • 再次引用q,对不起,必须快速输入

标签: php mysql wamp


【解决方案1】:

嗯,它只循环一次的原因是UPDATE 查询不会返回任何可以使用mysql_fetch_assoc 提取的行。所以mysql_fetch_assoc 返回false,它会呈现表达式($row_query = mysql_fetch_assoc($query)) false,这就是循环中止的原因。

除此之外,很抱歉,该代码非常糟糕。它可能有助于告诉我们您想要做什么,一定有更好的方法。

【讨论】:

    【解决方案2】:

    问题是您在循环中将值重新分配给 $query。试试

    do {
        mysql_select_db($database_ll, $ll);
        $query_query= "update table set ex='$71[1]' where field='val'";
        $query2 = mysql_query($query_query, $ll) or die(mysql_error());
        $row_domain_all = mysql_fetch_assoc($query2);
    } while ($row_query = mysql_fetch_assoc($query));
    

    【讨论】:

    • 另外他在 UPDATE 查询上使用 mysql_fetch_assoc,它不返回任何行。
    • 实际上没有,他只是在循环内分配给$query一次,这应该不会造成任何问题。
    【解决方案3】:

    可能是你的mysql查询有问题。

    $query_query= "更新表集 ex='$71[1]' where field='val'";

    您的查询有误。

    更新查询是 "update "table name" set ex='$71[1]' where field='val'";

    您错过了表名。

    或者如果您使用 'table' 作为您的表名。然后改变它。

    【讨论】:

      【解决方案4】:

      人,

      我需要更换这个

      $query = mysql_query($query_query, $ll) or die(mysql_error());
      $row_domain_all = mysql_fetch_assoc($query);
      

      $Result1 = mysql_query($query_query, $ll) or die(mysql_error());
      

      【讨论】:

      • 抱歉,这没有任何意义。如果这是解决方案,那么您一定是从问题中省略了一半的问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      相关资源
      最近更新 更多