我收到此错误消息
Fatal error: Cannot redeclare get_db_conn() (previously declared in `/home/maxer/domains/x/public_html/xmasapp/dbfuncs.php:21) in /home/maxer/domains/x/public_html/xmasapp/dbfuncs.php on line 24`
这是代码
function get_db_conn() {
$conn = mysql_connect($GLOBALS['db_ip'], $GLOBALS['db_user'], $GLOBALS['db_pass']);
mysql_select_db($GLOBALS['db_name'], $conn);
return $conn;
}
第21行指的是
$conn = mysql_connect($GLOBALS['db_ip'], $GLOBALS['db_user'], $GLOBALS['db_pass']);
第24行是函数
的结束花括号代码工作正常,直到我尝试清理我的代码,我将大部分“视图”代码撕掉并将其放入单独的文件但没有更改任何逻辑
答案 0 :(得分:3)
您很可能包含两次文件或包含两个文件,每个文件包含相同的文件。
您可以使用include_once()或设置更好的结构来阻止此问题。
修改强>
尝试此操作,看看您的包含设置是否显示错误。
echo "<pre>";
print_r(get_included_files());
echo "</pre>";
某处你包含一个文件两次,或者两个文件都有你的函数定义。
答案 1 :(得分:1)
这是一个包含文件吗?包含文件是否被包含多次?
它抱怨,因为get_db_conn被定义了不止一次,并且很可能它被多次包含,除非你在两个不同的地方有这个功能。
答案 2 :(得分:1)
您的错误消息显示:
无法重新声明第24行的[...] / dbfuncs.php中的get_db_conn()(先前在[...] / dbfuncs.php:21中声明)
您有一个名为get_db_conn()
的函数,您要多次声明。您的dbfuncs.php
文件是否包含其自身?
答案 3 :(得分:0)
你可能不止一次地包含()同一个文件。出于这个原因,我希望尽可能使用include_once()。
答案 4 :(得分:0)
您声明两个名称相同的函数(两者都称为get_db_conn())