我有一个文件,将我可重用的函数存入一个文件(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声明,我可以获得成功的连接.
任何洞察我如何解决这个或我在这里做错了什么?