如何使函数返回预准备语句的结果?

时间:2013-11-25 14:48:53

标签: php mysqli prepared-statement

我目前正在使用此函数从mysql数据库中获取类别数据。

function GetCategories()
    {
        $AryCategories = '';

            require("cnt.php"); // opening a connection.
            if($stmnt_get_categories = mysqli_prepare($con,'SELECT type_id,type_name FROM `tblpolltypes` order by type_name;'))
            {
                mysqli_stmt_execute($stmnt_get_categories);
                mysqli_stmt_bind_result($stmnt_get_categories,$cat_id,$cat_name);
                while(mysqli_stmt_fetch($stmnt_get_categories))
                {
                    $AryCategories[$cat_id]=$cat_name;
                }
                mysqli_stmt_close($stmnt_get_categories);
            }
            mysqli_close($con);

        return $AryCategories;
    }

它工作正常,但使用此代码意味着我再次循环返回的数组,这意味着处理相同的数据两次: 第一种:当我循环语句结果将其存储在函数内的数组中时。 第二种:当我循环返回的数组以“回显”数据时。

有没有更好的方法来写这个像返回整个语句?或者直接在多维数组中获取数据而不必循环它?

1 个答案:

答案 0 :(得分:2)

  

有没有更好的方法来写这个像返回整个语句?

没有。
它没有任何问题,只要您只返回平均网页的大量数据。