php - mysql_data_seek 和 mysql_num_rows

标签 php mysql reset

我正在尝试重置变量中的数据,以便我可以再次调用它。如果第一个查询中有数据,我需要它来运行重置。首先,我检查数据,其次,如果有数据,我将索引设置回 0。

这适用于我的本地主机环境,但不适用于我的实时环境。我知道我收到错误是因为第一个查询没有显示任何结果,因此 mysql_num_rows($query) 为空。

我收到错误:警告:mysql_num_rows():提供的参数不是有效的 MySQL 结果资源。

(当第一个查询出现结果时,此代码起作用,成功重置并显示第二个查询。)

if (mysql_num_rows($query)){
    mysql_data_seek($query, 0);
}

有没有更好的方法可以检查第一个查询是否有信息,而不会在没有找到任何信息时抛出错误?

最佳答案

注意有关使用 mysql_ 的其他评论吗?功能。

如果由于某种原因您要多次迭代结果,请在第一次传递时将它们转储到数组中,正如 Marc B 所评论的那样。例如(仍在使用您的 mysql_? 函数);

$result = mysql_query($query);
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
while($row = mysql_fetch_row($result)){
    $myResultSet[]=$row;
}

完成后,我们可以根据需要多次迭代该集合

foreach($myResultSet as $row){  # note foreach resets each time
    # do stuff with $row['fieldname']
}

但是,您应该利用这个机会将您的 mysql_ 更新为更新的方法...这个底层解决方案将保持不变。

如果这不能解决问题,请发布更多代码,以便我们了解您想要做什么以及为什么。

关于php - mysql_data_seek 和 mysql_num_rows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12378071/

相关文章:

php - node.js 中的 Wordpress 身份验证

php - 多个 On 选择更改 Ajax Laravel

mysql - 为什么 column = upper(column) 在 Oracle 中有效而在 MySQL 中无效?

php - MySQL 动态选择框

mysql - 使用 Yum 安装 MYSQL 5.7 时出错

javascript - 输入[类型文件]更改后,变量 imageLen 不会重置

jquery - 重置jquery分页插件中的总页数

php - 为我的属性表创建照片模型

在选择循环中重置 timer.NewTimer

php - MYSQL PHP PDO - 即时添加 WHERE PlaceHolder 子句