在一个页面中有多次我需要连接并随后查询MySQL数据库,但我的代码不会让我。我认为这可能与我的文件嵌套方式有关,但没有意义。我在头文件中打开SQL连接。违规页面的顶部如下所示:
<?php
$page_title = 'Dashboard';
include('templates/header.inc'); // includes a 'require_once('mysqli_connect.php') and a small query to the database;
require_once('includes/functions.php');
require_once('includes/dashboard_sql.php'); // Contains functions which connect to database (which are failing.)
?>
我收到PHP错误
注意:未定义的变量:dbc in /Library/WebServer/Documents/pediatory_site/includes/dashboard_sql.php
其中$ dbc是mysqli_connect.php中定义的数据库连接。
如果有人能帮助我,那就太好了。
答案 0 :(得分:1)
这可能与scope有关。
$dbc = 1;
function foo() {
echo $dbc; // Undefined variable
echo $GLOBALS['dbc']; // 1, like defined above
$otherVar = 2;
}
echo $otherVar; // Undefined variable
如果多次使用$ dbc变量,则写入时间更短:
function foo() {
global $dbc;
echo $dbc; // 1, like defined above
}
答案 1 :(得分:0)
我认为在使用Require_Once方法创建数据库连接时,在方法关闭与文件的连接后,var将被清除。 尝试要求或包含此类操作,并检查是否有效
<?php
$page_title = 'Dashboard';
include('templates/header.inc'); // includes a 'require_once('mysqli_connect.php') and a small query to the database;
require_once('includes/functions.php');
include('includes/dashboard_sql.php'); // Contains functions which connect to database (which are failing.)
?>
所以,我将require_once更改为您发布的代码中的include方法,尝试转到templates / header.inc并将require_once方法更改为include并检查是否有帮助。
它应该。 否则尝试在同一个文件中创建与数据库的连接,而不是通过单独的文件进行连接。