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

时间:2011-07-24 13:09:57

标签: php mysql

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

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变量在connect.php中定义,在include()中调用。我意识到函数不能调用include()变量。

我做了一些研究,发现我可以把它称为全局变量。但是我对此持谨慎态度,因为dbc变量包含敏感的DB信息:

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

我还尝试将include添加到函数本身,但是因为我需要在调用函数之前连接到页面上的DB我收到'变量DB_HOST已定义'错误。 将$ dbc定义为全局变量是否合适?如果不是我怎么能绕过这个?

2 个答案:

答案 0 :(得分:1)

我认为没关系:

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....;

答案 1 :(得分:0)

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

global $dbc; 

包含您的连接脚本

相关问题