在db.php中:
function connect() {
// vars declared
$conn = new mysqli($servername, $username, $password, $database);
}
在另一个file.php中:
require_once('db.php');
connect();
$stmt = $conn->prepare("...");
如何在功能之外使用$conn
?在线的所有答案都参考了相反的情况。我试过了global
,但似乎并不适合我。
答案 0 :(得分:3)
只需从函数返回并分配给变量。
function connect() {
// vars declared
return new mysqli($servername, $username, $password, $database);
}
require_once('db.php');
$conn = connect();
$stmt = $conn->prepare("...");
答案 1 :(得分:1)
您可能想要使用'静态'像这样的关键字:
function connect() {
static $conn;
if (is_null($conn)) {
$conn = new mysqli($servername, $username, $password, $database);
}
return $conn;
}
看看这里: http://php.net/manual/en/language.variables.scope.php#language.variables.scope.static
问候。
答案 2 :(得分:0)
您可以将其声明为全局并全局访问
$conn;
function connect() {
// vars declared
global $conn;
$conn = new mysqli($servername, $username, $password, $database);
}