【问题标题】:PHP Reset mysqli_resultPHP 重置 mysqli_result
【发布时间】:2012-07-23 21:46:08
【问题描述】:

这是我第一次在 stack-overflow 上发帖,我希望有人能帮我弄清楚我做错了什么。 我有以下代码在重置 $row 数组时遇到问题。这是一个嵌套循环, $row 第一次工作,然后在其他循环上是空白的......有什么想法吗?

/**Setup local variables with passed data**/
$ing = $this->getVariable('ingredients');
$row = $this->getVariable('unitdrop');
$unit= $this->getVariable('unit');

/**Start Displaying data**/
if (!$ing) {print("No ing");}
else
{while ($i = $ing->fetch_array())
{
/**Display $ing Data**/
    if (!$row) {print("No data row");}
    else
    {while($p = $row->fetch_array())
        {
        /**Display $row Data**/
        } 
    }
reset($row); // <-- Does not reset $row to first record
}

感谢您的帮助!

【问题讨论】:

  • 只是检查你正在关闭你的块 cmets /* 显示 $row 数据 */
  • $row 是否在每个循环中返回相同的数据?为什么不迭代一次并存储在数组中?
  • @Jamie - 是的,应该关闭块注释,我的代码不同,我以此为例,无法分享实际代码。
  • @mellamokb - 是的 $row 每次都返回相同的数据。感谢您的建议,我会试一试。
  • @mellamokb - 我很欣赏这个建议。但是,我发现该选项是更多的编码,那么它是值得的。有没有办法重置 $row 对象或将其返回到第一条记录而不是创建多维数组?

标签: php mysqli reset


【解决方案1】:

reset 重置一个数组。 $row 在您的情况下是 mysqli 类的对象。请改用 mysqli::data_seek 方法(请参阅链接中的示例)。我猜应该是$row-&gt;data_seek(0);

【讨论】:

  • 谢谢谢谢谢谢!!!昨晚我花了几个小时阅读并尝试重置、取消设置、关闭、mysql_data_seek 的不同组合,并打算重新编程数百行以改变我的应用程序的工作方式.... $row->data_seek(0) 就像一个魅力!谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-24
  • 2021-07-06
  • 2011-02-02
  • 2023-02-12
  • 2014-03-31
  • 1970-01-01
  • 2017-03-03
相关资源
最近更新 更多