fetch_assoc(); 而不是更冗长 $query = $db_con-6ren">
gpt4 book ai didi

php - 如何释放直接作为数组获取并存储在变量中的 mysql 结果?

转载 作者:行者123 更新时间:2023-11-29 02:49:34 25 4
gpt4 key购买 nike

我非常喜欢语法:

$result = $db_connect->query("SELECT * FROM table")->fetch_assoc();

而不是更冗长

$query = $db_connect->query("SELECT * FROM table");
$result = $query->fetch_assoc();
$query->free();

我的问题是在情况 1 中如何从内存中释放结果?

换句话说:为变量分配一个新值是否会自动释放结果?

我在 stackExchange/Google 上搜索过,但没有成功……我发现这是一个有趣的问题。

最佳答案

方法链接(您的第一个示例)通过对前一个函数返回的对象执行每个后续函数来工作。所以你可以做 $db_connect->query("SELECT * FROM table")->fetch_assoc(); 因为 query()返回 mysqli_result对象并且该对象支持 fetch_assoc()方法。

fetch_assoc(),依次返回...

... an associative array of strings representing the fetched row in the result set, where each key in the array represents the name of one of the result set's columns or NULL if there are no more rows in resultset.

因为这个结果是一个数组(或 NULL)而不是一个对象,所以不能在它之后的链中添加更多的方法。

关于php - 如何释放直接作为数组获取并存储在变量中的 mysql 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37686692/

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