2

哎,

我定义(在 config.php 中):

$mysql = mysqli_connect (..);

用于连接到 mySQL 数据库。现在我想在我的函数(functions.php)中使用该变量:

function x () { $fetch = ($mysql, "SELECT ...")); }

不使用全局:

function x () { global $mysql ... }

任何干净的想法(程序)?

4

2 回答 2

1

例如,您可以将连接资源传递给您的函数

function x ($mysqli) { $mysqli->... }
于 2016-01-02T13:57:33.627 回答
1

您可以使用 Superglobal $GLOBALS 在没有 global-keyword 的情况下访问全局范围内的变量:

function x() { $GLOBALS['mysql']->... }

文档: http: //php.net/manual/en/reserved.variables.globals.php

我建议创建一个单独的函数,该函数返回您可以使用的数据库句柄/对象,而不是变量。例如:

function db() { return $GLOBALS['mysql']; }
function x() { db()->... }
于 2016-01-02T14:41:49.457 回答