使MySQL连接变量在函数内也可用

时间:2014-05-09 18:26:08

标签: php mysqli

PHP页面说, common.php 包含该行,以及其他一些PHP变量和代码。

$mysqli=new MySQLi("localhost", "username", "password");

所以在其他页面中,我简单地使用require_once("common.php")包含此common.php,并使用$mysqli变量进行所有与数据库相关的操作。一切正常。在随机情况下,我需要在PHP页面中创建一个函数,例如

function checking($some_data)
{
  // Using $mysqli check $some_data with database here and return 0 or 1 based on database operations
  // Here it says $mysqli is not defined.
}

$somevariable=$mysqli->prepare($query); // This is outside the function and works fine
$result=checking($some_data); // This does not work and says $mysqli not defined.

我尝试在函数中添加global $mysqli。但是,如果我这样做,MySQLi连接不可用。使用连接参数在每个函数内定义$mysqli,听起来很疯狂。什么可能是简单的解决方案?

1 个答案:

答案 0 :(得分:0)

在这种情况下,在函数内添加global $mysqli会很有效。如果它不起作用,你在函数或查询中可能会出错(可能是)。

function function_name_here($arguement_variable_here)
{
  global $mysqli;
  $mysqli->query($query);
}

并确保在函数定义之前包含依赖项文件 - common.php 。如果include / require在函数定义下面完成,可能在某些情况下可能不起作用。