【问题标题】:Why does iteration of resultset turn into an endless loop?为什么结果集的迭代会变成无限循环?
【发布时间】:2013-04-30 13:10:56
【问题描述】:

我有一个代码,到目前为止有效。但是,它会进入某种无限斜率并不断重复自身,而无需遍历所有行(30,000)。我不知道如何一次在每一行中循环一次!

$con = mysql_connect('localhost', '', '');

if (!$con) die('Could not connect: ' . mysql_error());

mysql_select_db("", $con);

$sql="SELECT prodName,merchant FROM `affiliSt_products1`";
$result = mysql_query($sql);

while($row = mysql_fetch_array($result)) {
    $merchant = $row[merchant];
    mysql_query("UPDATE affiliSt_products1 SET prodName = CONCAT(prodName,' By $merchant') WHERE merchant = '$merchant' ") or die(mysql_error());
}

以上是为了使搜索更有效。可以轻松找到仅限商家的产品。

【问题讨论】:

    标签: php mysql resultset


    【解决方案1】:

    这很简单,只需将fetch_array 更改为fetch_assoc 就可以了!

    【讨论】:

      【解决方案2】:

      只需使用一个 UPDATE 语句即可完成所有操作:

      UPDATE affiliSt_products1 SET prodName = CONCAT(prodName,' By ', merchant)
      

      【讨论】:

        【解决方案3】:

        改变 while($row = mysql_fetch_assoc($result))

        【讨论】:

          猜你喜欢
          • 2017-09-21
          • 2012-09-24
          • 2013-04-25
          • 2020-09-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-23
          • 1970-01-01
          • 2013-10-25
          相关资源
          最近更新 更多