gpt4 book ai didi

php - 在单个 PHP 脚本中使用 mysql_fetch_assoc 两次

转载 作者:行者123 更新时间:2023-11-29 14:31:36 24 4
gpt4 key购买 nike

我通常会尽可能减少对 MySQL 的调用,但我终于遇到了必须在单个脚本中多次调用 MySQL 的情况。

看起来你不能在一个脚本中使用mysql_fetch_assoc两次(!)。

似乎 mysql_data_seek 是解决方案,但我似乎无法让它工作。

需要明确的是,我有两个问题需要询问。第二个查询取决于第一个查询的结果...结构如下:

$result = mysql_query($query1);while($row = mysql_fetch_assoc($result)){ $pos = $row['position'];}mysql_free_result($result); // result freed per comment below. $query2 = ' '; //... dependent on $pos - in mysql shell this returns results! $result2 = mysql_query($query2) while($row = mysql_fetch_assoc($result2)){ echo $row['id'];}

上面发生的情况是,即使查询应该有重要的行,第二个 while 循环也不会返回任何结果。

<小时/>

只是为了确定:这是清除先前结果中的指针以便能够再次使用 mysql_fetch_assoc 的方法吗?

mysql_data_seek($结果,mysql_num_rows($结果) - 1);

我不确定使用什么作为第二个参数。诚然,我对指针不太清楚,但似乎我应该将指针清除为 0。但我收到此错误:

偏移量0对于MySQL结果索引8无效(或者查询数据未缓冲

最佳答案

检查您与 mysql_error() 的连接,看看是否出现“命令不同步”错误。如果是这样,您需要在完成第一个查询后、开始第二个查询之前调用 mysql_free_result()。您也可以只调用 mysql_close() 来关闭数据库连接,然后重新打开一个新连接。

更多详情,请参阅 this question

关于php - 在单个 PHP 脚本中使用 mysql_fetch_assoc 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9913366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com