如何让我的函数将结果作为全局变量返回?

时间:2016-06-03 04:45:33

标签: php variables

这里的第一次海报......

只是想知道是否有人可以帮助我将我的功能结果变成一个全局变量,我可以在另一个php页面中使用...

$sql = "SELECT title FROM table_1 WHERE id >= '1' and id <='10'";


    function dbCall($servername, $username, $password, $dbname, $sql) {
        global $item;
            $conn = new mysqli($servername, $username, $password, $dbname);
            if ($conn->connect_error) {
                die("Connection failed: " . $conn->connect_error);
            } 

                    $result = mysqli_query($conn, $sql);

            if (mysqli_num_rows($result) > 0) {
                    // output data of each row
                    while($row = mysqli_fetch_array($result)) {

                       $item=("'". $row[0]."', ");
                       echo $item;
                    }
                } else {
                    echo "0 results";
            }
                    return $list;
                    $conn->close();
            }

目前它返回结果列表:

'tom', 'mary', 'joseph', 'jim', 'kathy', 'bob', 'luke', 'sam', 'heidi', 'tiffany',

但是我不能在我的其他php页面中将其称为全局变量...

有人可以帮忙吗?

编辑:

实际上,当我打电话给我时,我会把这个打到另一页:

include ("C:\inetpub\wwwroot\db-call.php");
$varList = array(dbCall($servername, $username, $password, $dbname));
echo $varList;

我得到了这个结果:

'tom', 'mary', 'joseph', 'jim', 'kathy', 'bob', 'luke', 'sam', 'heidi', 'tiffany',Array

再次感谢!---

谢谢,

2 个答案:

答案 0 :(得分:1)

更改您的函数以返回值,而不是打印值:

function dbCall($servername, $username, $password, $dbname, $sql) {
    $item = [];
    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) > 0) {
                    // output data of each row
        while($row = mysqli_fetch_array($result)) {

            $item[] = $row[0];
        }
    } else {
        $item[] = "0 results";
    }
    $conn->close();
    return $item;
}

现在你这样打电话:

include ("C:\inetpub\wwwroot\db-call.php");
$varList = dbCall($servername, $username, $password, $dbname);
echo $varList;

您的$varList包含数组,您可以根据需要处理这些值

Array
(
    [0] => tom
    [1] => mary
    [2] => joseph
    [3] => jim
    [4] => kathy
    [5] => bob
    [6] => luke
    [7] => sam
    [8] => heidi
    [9] => tiffany
)

答案 1 :(得分:0)

可能更好的方法是将此文件包含在您要使用的页面中,并调用该函数以获取列表。