方法

2015-10-20 106 views
2

我准备这样方法

$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); 

MySQL连接,如果我现在将要使用$connection在PHP函数我不会有$connection

什么是访问处理这个问题的最佳做法是什么?我不能遍地准备下一个连接的功能

+0

DONOT'接近()''你$ connection'。 –

+0

您可以将'$ connection'作为参数传递给您的函数,就像这个'function myFunction($ conn){...}'并且像这样调用它'myFunction($ connection)' –

+0

如果您打算只有一个参数连接,为什么不把它变成一个全球性的。然后,它将在所有功能中可用。 – kainaw

回答

1

1.不要关闭您的连接

删除此行:$mysqli->close($connection);

2.可以使用 “全局”

$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"); 
} 
0

假设您在全局范围内(任何类或函数之外)创建了$连接,您可以在带有$ GLOBALS超全局函数的函数中使用它。

function foo() { 
    ... some code ... 
    $result = $GLOBALS['connection']->query('some query'); 
    ... some code ... 
} 

见例2浏览:http://php.net/language.variables.scope