0

我正在尝试完成以下操作:

我有一个conn.inc.php包含名为的类的文件DatabaseConnection

pastebin(因为它有点长)

然后我有第二个包含称为bootstrap.inc.php

<?php
    global $dbcon;
    $dbcon = new DatabaseConnection();
    $dbcon->setHostname("localhost");
    $dbcon->setUsername("root");
    $dbcon->setPassword("password");
    $dbcon->setDatabase("database");
?>


我有第三个整体functions.inc.php,如果需要,它被设计为包括在内:

<?php include 'conn.inc.php'; ?>
<?php include 'bootstrap.inc.php'; ?>
<?php 

function myFunction()
{
    $db = $dbcon->getConnection();
    $sql = "CALL ssp_MySP()";
    $result = $db->query($sql) or trigger_error($db->error."[$sql]");

    ....
}
?>


现在,每次我调用 myFunction 时,我在打开连接时都会收到一个错误 ->$db = $dbcon->getConnection();说变量$dbcon未定义。


如何$dbcon在位于的函数中使用functions.inc.php

4

2 回答 2

2

函数内部的$db变量是(该函数的)局部变量。如果要访问函数外部的变量,请使用global关键字。这与变量范围有关。

<?php include 'conn.inc.php'; ?>
<?php include 'bootstrap.inc.php'; ?>
<?php 

function myFunction()
{
    global $dbcon;
    $db = $dbcon->getConnection();
    $sql = "CALL ssp_MySP()";
    $result = $db->query($sql) or trigger_error($db->error."[$sql]");

    ....
}
?>
于 2013-09-23T22:19:06.150 回答
1

global $dbcon;在每个文件的开头添加。

于 2013-09-23T22:19:06.693 回答