首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL打印数据库记录数组

MYSQL打印数据库记录数组
EN

Stack Overflow用户
提问于 2014-02-19 11:08:14
回答 2查看 60关注 0票数 1
代码语言:javascript
复制
function CHECKPENDINGORDERS($con, $oc, $pos){
    if(is_resource($con)){
        $sql = "SELECT * FROM eats_orders WHERE school_code = '$oc' AND order_status = '$pos'";
        $sqlresult = mysql_query($sql);
        #$pendingorderrow = mysql_fetch_array($sqlresult);
        while($row = mysql_fetch_assoc($sqlresult)){
            $a[] = $row;
            return $a;
        }

    }
}


$checkpendingorders =  CHECKPENDINGORDERS(MYSQL_LINK, $ordercode, $pendingorderstatus);

print_r($checkpendingorders);

我有上面的函数来检索数据库记录,并通过调用函数将其打印出来。但它只打印了1条记录,但我有多条记录具有相同的订单码和待处理订单状态。

EN

回答 2

Stack Overflow用户

发布于 2014-02-19 11:09:39

你需要在最后退还你的$a

代码语言:javascript
复制
<?php
function CHECKPENDINGORDERS($con, $oc, $pos){
    if(is_resource($con)){
        $sql = "SELECT * FROM eats_orders WHERE school_code = '$oc' AND order_status = '$pos'";
        $sqlresult = mysql_query($sql);
        #$pendingorderrow = mysql_fetch_array($sqlresult);
        while($row = mysql_fetch_assoc($sqlresult)){
            $a[] = $row;
            //return $a; //<---- Not here
        }

    }
    return $a; //<----- Here
}

那是因为...因为您在第一次迭代本身中返回了$a,所以您将获得单行。

票数 2
EN

Stack Overflow用户

发布于 2014-02-19 11:09:19

您需要将return语句移到循环之外。一旦到达该return语句,函数调用就会结束,从而终止循环。

代码语言:javascript
复制
    while($row = mysql_fetch_assoc($sqlresult)){
        $a[] = $row;
    }
    return $a;

为了进一步改进您的函数,您的函数将抛出一个E_NOTICE错误,因为您在使用它之前没有定义$a。要解决这个问题,只需在函数的顶部将$a定义为一个空字符串。还可以将return语句移到数组的末尾,以便函数始终返回一个数组,即使该数组为空。

代码语言:javascript
复制
function CHECKPENDINGORDERS($con, $oc, $pos){
    $a = array();
    if(is_resource($con)){
        $sql = "SELECT * FROM eats_orders WHERE school_code = '$oc' AND order_status = '$pos'";
        $sqlresult = mysql_query($sql);
        #$pendingorderrow = mysql_fetch_array($sqlresult);
        while($row = mysql_fetch_assoc($sqlresult)){
            $a[] = $row;
        }
    }
    return $a;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21870231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档