相关疑难解决方法(0)

PHP功能的范围

我有一个文件,将我可重用的函数存入一个文件(functions.php).这是include_once()每个需要它的页面.当我的自定义函数试图访问自己范围之外的MySQL连接时,我收到错误.来源有点像这样:

<?php
    // functions.php
    $connect = mysql_connect("localhost", "user", "pass") or die("MySQL said: ".mysql_error());
    mysql_select_db("database", $connect) or die("MySQL said: ".mysql_error()); // no error

    /* ... */

    function getmotd($user) {           
        $query = "SELECT cid FROM `users`
        WHERE id = ".$user;
        $query = mysql_query($query, $connect); // error occurs here, $connect is not a valid MySQL link-resource
        /* ... */
    }
?>
Run Code Online (Sandbox Code Playgroud)

为什么我的函数访问变量不能在它的范围之外声明?通过函数中复制$connect声明,我可以获得成功的连接.

任何洞察我如何解决这个或我在这里做错了什么?

php scope function

4
推荐指数
2
解决办法
2865
查看次数

标签 统计

function ×1

php ×1

scope ×1