调用函数中的变量和全局变量


calling variable in functions and global variables

我正在尝试编写一个连接到数据库并返回一些数据显示的函数,我有:

function viewer ($view_type){  
    if ($view_type=1){
        $query="SELECT * FROM table WHERE the_id='1234'";
        $run= mysqli_query($dbc, $query) or die....;

中被调用
include('/../includes/connect.php');
$view= 1;
viewer($view);

这就是我得到未定义变量dbc错误的地方。$dbc变量在include()中调用的connect.php中定义。我意识到函数不能调用include()变量。

我做了一些研究,发现我可以把它作为一个全局变量来调用。但是我对此很谨慎,因为dbc变量包含敏感的DB信息:

$dbc=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

我也尝试添加包含到函数本身,但是,因为我需要在调用函数之前连接到页面上的DB,我收到'变量DB_HOST已经定义'错误。将$dbc定义为全局变量是否合适?如果不是,我该如何解决这个问题?

我觉得还可以:

function viewer ($view_type){  
    GLOBAL $dbc; // here is your database connection
    if ($view_type=1){
        $query="SELECT * FROM table WHERE the_id='1234'";
        $run= mysqli_query($dbc, $query) or die....;

放入当前文件(其中称为viewer())

global $dbc; 

包含连接脚本后的