我像这样准备了我的SQL连接
$connection = new mysqli('localhost', 'root', '', 'quiz') ;
// sprawdz polaczenie
if (mysqli_connect_error()) {
echo "error is here". mysqli_connect_error();
}
else
echo "connected";
echo "<br>";
$query=('SELECT * from question') ;
$result=$connection->query($query);
mysqli->close($connection);
现在,如果我想在PHP函数中使用$connection
,我将无法访问$connection
处理这个问题的最佳做法是什么?我无法在函数中反复准备下一个连接
答案 0 :(得分:1)
<强> 1。不要关闭你的连接
删除此行:$mysqli->close($connection);
<强> 2。您可以使用&#34; global&#34;
$connection = new mysqli('localhost', 'root', '', 'quiz') ;
// sprawdz polaczenie
if (mysqli_connect_error()) {
echo "error is here". mysqli_connect_error();
}
else
echo "connected";
do_something();
function do_something(){
global $connection; //Function now knows to use $connection from global scope
$connection->query("yourqueryhere");
//or
$_GLOBALS['connection']->query("yourqueryhere");
}
答案 1 :(得分:0)
假设您在全局范围内(在任何类或函数之外)建立了$ connection,您可以在$ GLOBALS超全局函数中使用它。
function foo() {
... some code ...
$result = $GLOBALS['connection']->query('some query');
... some code ...
}
请参见此处的示例2:http://php.net/language.variables.scope