抛出以下错误:
致命错误:试图克隆类 mysqli_result 的不可克隆对象
当我尝试直接将克隆用于 mysql 查询结果时:
$result = mysqli_query($con, $query);
$resultsClone = clone $result;
有没有办法克隆 mysqli 对象?
抛出以下错误:
致命错误:试图克隆类 mysqli_result 的不可克隆对象
当我尝试直接将克隆用于 mysql 查询结果时:
$result = mysqli_query($con, $query);
$resultsClone = clone $result;
有没有办法克隆 mysqli 对象?
顾名思义,克隆一个不可克隆的对象是不可能的。
只是因为要多说一点:在这种特定情况下,mysqli
-result 是(或多或少-我不知道确切的细节)指向“其他地方”结果的指针。克隆意味着,两个指针指向“其他地方”的相同结果,这又可能导致严重的副作用,因为从一个结果中获取结果肯定会影响另一个结果。
正如 KingCrunch 已经解释的那样,克隆数据库结果指针并没有太多用处——它们存在的上下文有限——就像任何指针或资源一样。
但是,根据您想要执行的操作,您可以再次运行查询:
$result = mysqli_query($con, $query);
$resultClone = mysqli_query($con, $query);
或者您封装获取逻辑,以便根据应用程序的状态在相同的资源上回退。
将指针(返回)移动到结果的零线。 http://www.php.net/manual/ru/mysqli-result.data-seek.php