加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何将sql结果从一个变量复制到另一个变量

发布时间:2020-12-13 21:55:16 所属栏目:PHP教程 来源:网络整理
导读:如何将sql结果从一个变量复制到另一个没有数组和foreach的 PHP中. $query="Select * from table";$res1=mysql_query($query);$res2=$res1; // I need somethink like this,simply,like in other languageswhile($row=mysql_fetch_array($res1)) {echo $row['
如何将sql结果从一个变量复制到另一个没有数组和foreach的 PHP中.

$query="Select * from table";
$res1=mysql_query($query);
$res2=$res1; // I need somethink like this,simply,like in other languages
while($row=mysql_fetch_array($res1)) {
echo $row['Id'];
}
echo '<br>';
while($row=mysql_fetch_array($res2)) {
echo $row['Id'];
}

首先将打印id,第二次不打印.

解决方法

对于SELECT查询,mysql_query()在成功时返回 resource,这是一个包含对结果集的引用的特殊变量.在此声明中$res2 = $res1;您只是将引用复制到另一个变量,而不是实际的结果集.在第一个while循环中,您已经迭代了结果集,因此将资源分配给另一个变量将不会重置它.

但是您可以使用mysql_data_seek()函数将结果指针调整为指向结果集的开头,以便您可以再次迭代它.

这是参考:

> mysql_data_seek()

所以你的代码应该是这样的:

$query="Select * from table";
$res=mysql_query($query);

while($row=mysql_fetch_array($res)) {
    echo $row['Id'];
}
echo '<br />';

mysql_data_seek($res,0);

while($row=mysql_fetch_array($res)) {
    echo $row['Id'];
}

旁注:不要使用mysql_ *函数,它们自PHP 5.5起就被弃用,并在PHP 7.0中被完全删除.请改用mysqlipdo. And this is why you shouldn’t use mysql_* functions.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读