1

我有一个问题。我可以将 PHP MySQL 资源变量分配给其他吗?

例如。

$query=mysql_query("SELECT * FROM sometable",$dbconn) or die("Wheewww!"); //$query, Resource variable

while($result=mysql_fetch_assoc($query))
 {
   echo $result['somefield']." ";
 }

$query_new=$query;  //Assigning mysql resource variable to other

while($result_new=mysql_fetch_assoc($query_new))
 {
   echo $result_new['somefield']." ";
 }

上面的代码是否完全正确?请分享您的想法。

干杯,
简森。

4

2 回答 2

4

是的,你可以做到这一点,但这对你没有任何好处。您已经迭代了结果集,将资源分配给另一个变量不会重置它。您必须使用 重置结果集中的光标mysql_data_seek

您还应该停止使用已弃用的 MySQL API 并转移到 PDO 或 Mysqli。

于 2013-03-26T11:58:10.320 回答
3

这应该没问题,您只是将两个变量指向同一个资源。但是,在您可以循环 $query_new 之前,您必须使用 mysql_data_seek ( http://www.php.net/manual/en/function.mysql-data-seek.php )重置内部数据指针

编辑: deceze 答案包括关于使用非弃用代码的好建议

于 2013-03-26T11:58:38.747 回答