2011-01-19 60 views
0

我正在尝试创建一个包含数据库详细信息的数据库配置文件,然后将文件包含在我将执行查询的文件中,但是我不断收到错误,它似乎正在采用常量一个字符串,而不是它的值。包括PHP常量

这里是config.php文件代码:

define("DB", "db", true); 
define("LOGIN", "login", true); 
define("PASS", "pass", true); 
define("HOST", "server.com", true); 

这里是我include和使用常量:

include("config.php"); 

$province = $_POST['province']; 
$city = $_POST['city']; 
$name_surname = $_POST['name_surname']; 
$email_address = $_POST['email_address']; 
$date = date("m.d.y"); 


$connect = mysql_connect(HOST,LOGIN,PASS) or die(mysql_error()); 
mysql_select_db(DB) or die(mysql_error()); 

mysql_query("INSERT INTO table_name (id, province, city, name_surname, email_address, date) 
VALUES ('NULL', '$id', '$province', '$city', '$name_surname', '$email_address', '$date')", $connect) or die(mysql_error()); 

编辑*这是我得到Access denied for user 'USER'@'100-200-0-200.dynamic.adsl.com' (using password: YES)

错误

任何想法我哪里错了?它可能正在凝视我,但我看不到它。

Thanx提前!

+0

你能发布错误你得到。 – 2011-01-19 14:37:06

+0

你有错误吗? – bharath 2011-01-19 14:39:12

+0

我编辑了我原来的帖子。 – Odyss3us 2011-01-19 14:43:59

回答

7

如果没有特定的错误信息产生很难肯定,但我怀疑这个问题很简单,就是的定义被称为“LOGIN”,但你尝试使用“USER”中的mysql_connect通话。

1

也许尝试改变$连接=的mysql_connect(HOST,USER,PASS)由$连接=的mysql_connect(HOST,LOGIN,PASS)因为你不定义用户...;)

0
// Constants.php 
<?php 

final class Constants 
{ 
    const DEBUG      = true; 

    const DB_CHARSET    = "latin1"; 
    const DB_PORT     = 3306; 
    const DB_TIMEOUT    = 15; 
    const DB_HOST     = "localhost"; 
    const DB_DATABASE    = "foo_db"; 
    const DB_USER     = "foo_dbo"; 
    const DB_PASS     = "pass"; 

    private function __construct(){} 
} 
?> 

// usage: 

require_once "Constants.php"; 

if(Constants::DEBUG){..}