0

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

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

我在谷歌上搜索并尝试解决这个问题。但它不起作用... 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");
4

3 回答 3

1

它被称为“包括守卫”:

if(!function_exists('connectdb')) {
    function connectdb() {
    }
}
于 2019-07-06T07:34:04.210 回答
0

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

尝试使用 include_once 而不是包含。例子:

include_once 'Functions.php';

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

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

于 2019-07-24T12:00:16.747 回答
-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;
    }
}

如果它不存在,它只会创建该函数。

于 2019-07-16T11:44:14.280 回答