如何修复致命错误:无法重新声明connectdb()

时间:2019-07-06 06:28:10

标签: php

我是PHP和MYSQL的新手。我已经尝试过使用xampp进行一些学习。当我尝试使用脚本连接数据库时,它显示以下错误..在index.php

上显示
  

致命错误:无法重新声明connectdb()(先前在   C:\ xampp1 \ htdocs \ core.php:18)在第24行的C:\ xampp1 \ htdocs \ core.php中

我在Google上进行了搜索,并尝试解决此问题。但这没用... core.php第18至24行代码如下。

function connectdb()
{
    global $dbname, $dbuser, $dbhost, $dbpass;`
   $conms = @mysql_connect($dbhost,$dbuser,$dbpass); //connect mysql`
   if(!$conms) return false;`
   $condb = @mysql_select_db($dbname);`
   if(!$condb) return false;`
   return true;`
}

config.php代码如下

$dbname = "aw"; //change to your mysql database name
$dbhost = "localhost"; //database host name
$dbuser = "sam";
$dbpass = "1234";


$max_buds=100; //maximum number of buds
$topic_af = 120; //topic antiflood
$post_af = 45; //post antiflood
$onver = true; //isonline versoion

$timeadjust = (0 * 60 * 60); // 4 hours
putenv("TZ=Africa/Johannesburg");

3 个答案:

答案 0 :(得分:0)

它被称为“包含防护”:

if(!function_exists('connectdb')) {
    function connectdb() {
    }
}

答案 1 :(得分:0)

我认为connectdb函数已经加载的问题。

尝试使用include_once而不是include。 例如:

include_once 'Functions.php';

include_once语句在脚本执行期间包含并评估指定的文件。这是一种与include语句相似的行为,唯一的区别是,如果已经包含了文件中的代码,则不会再次包含它,并且include_once返回TRUE。顾名思义,该文件将仅包含一次。

https://www.php.net/manual/en/function.include-once.php

答案 2 :(得分:-1)

尝试用以下代码替换 connectdb函数

if (!function_exists('connectdb')) {
    function connectdb()
    {
        global $dbname, $dbuser, $dbhost, $dbpass;

        $conms = @mysql_connect($dbhost,$dbuser,$dbpass); //connect mysql
        if (!$conms) return false;
        $condb = @mysql_select_db($dbname);
        if (!$condb) return false;
        return true;
    }
}

仅在不存在的情况下创建函数。