You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在函数中使用外部生成的MySQL查询结果

MySQL查询结果无法在函数中正常遍历

我有一个简单的MySQL查询,在页面上能正常输出结果,但想把查询结果放到函数里使用时,试了两种方法都失败了。

原始查询(可正常运行)

查询本身没问题,在函数外能正常操作结果:

$sql = 'SELECT * FROM someTable';
$result = $db_connection->query($sql);

两种失败的尝试

第一种尝试

直接在函数里使用外部的$result变量,无法运行:

function _checkQuery(){
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            echo $row["Data"];
        }
    }
}

第二种尝试

把$result作为参数传入函数,依然无法正常遍历结果:

_checkQuery($result);

function _checkQuery($db){
    if ($db->num_rows > 0) {
        while($row = $db->fetch_assoc()) {
            echo $row["Data"];
        }
    }
}

测试与结论

为了排查问题,我写了测试代码:

function _checkHour($db){
    if ($db->num_rows > 0) {
        echo "x";
        while($row = $db->fetch_assoc()) {
            echo "y";
        }
    }
}

测试后得出:

  • echo "x"能正常输出,说明传入的$db变量不为空;
  • echo "y"完全没输出,但函数能正常结束,问题出在while($row = $db->fetch_assoc())这一行。之前有人建议用fetch_assoc(),但按该方法写的代码直接导致函数中断。

内容的提问来源于stack exchange,提问作者Vicente Chazard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:30:54