2011-11-19 89 views
7

我正在做一个家庭作业,我们正在做一个非常基本的CMS。我们要填写一个包含标题,正文,永久链接的表格。 CMS然后获取永久链接,并将其添加到主导航栏。当在导航栏上单击该固定链接时,将显示标题,内容,创建的日期戳和修改的日期戳。 我有这个东西的工作,唯一的问题是,当我点击导航链接时,我有这些错误:PHP错误 - 已定义常量DB_HOST?

注意:常量DB_HOST已经在C:\ Program Files \ xampp \ htdocs \ php \ assignment_6 \ config .PHP第2行

说明:用C已经定义常量DB_USER:\ Program Files文件\ XAMPP \ htdocs中\ PHP \ assignment_6 \ config.php的上线3

说明:用C已经定义常量DB_PASS:\第4行的Program Files \ xampp \ htdocs \ php \ assignment_6 \ config.php

注意:常量DB_NAME已经在C中定义:\ Program Files文件\ XAMPP \ htdocs中\ PHP \ assignment_6 \ config.php文件第5行

我有我用来建立数据库连接的config.php文件:

<?php 
    define('DB_HOST','******'); 
    define('DB_USER','******'); 
    define('DB_PASS','******'); 
    define('DB_NAME','******'); 

    $cms_db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 

     if(!$cms_db){ 
      echo"Could not connect: ".mysql_error(); 
    } 
?> 

下面是代码从我的文件调用config.php文件,这是导致错误:

<?php 
    require('config.php'); 
    $perm = $_GET['p']; 
    $query = "SELECT * FROM cms WHERE permalink = '$perm'"; 
    $result = $cms_db->query($query); 
    $row = $result->fetch_assoc(); 
    $page_title = $perm; 
    require('header.php'); 
?> 
<h1><?=$row['title'];?></h1> 
<hr/><br/> 
<p class="para"><?=$row['content']?></p> 

<?php require('footer.php');?> 

少量的简单代码,但是是什么问题?这不是一个致命的错误,而是男人,这是否令人讨厌。

+0

你可以检查是否有多个命令实例:'require('config.php');'? – Nonym

回答

12

你可能会多次包含config.php。检查你所有的脚本并找到这个重复。您可以使用require_once()而不是require()来防止这种情况。

+0

有趣的是,我想这可能是问题,所以我GOOGLE了它,并找到require_once。我试了一下,得到了同样的问题。我会再试一次。 –

1

要么header.php或footer.php包括config.php?

如果是这样,你的问题。

+0

是的,页脚,所以我用require_once,无济于事。我会再试一次,因为我可能只是觉得我做到了...... –

+0

该死的,忘了一个。你们=>赢。 当你找出答案时,吮吸,错误地实施,然后寻求帮助,只有找到你在正确的轨道上摆在首位。非常感谢。对不起,我只能选一个作为复选标记。 –

+0

我知道这是旧的,但你的问题使我走上正轨。感谢您提出这个问题。 +1。 :-) – IRGeekSauce